首页 > 解决方案 > Qt 创建者:加载位于子目录中的项目文件

问题描述

我正在处理的遗留项目具有以下文件夹层次结构:

src
|--- folder1
|--- folder2
|--- Buildfiles
    |--- my_app.pro
    |--- components
        |--- comp1.pro
        |--- comp2.pro     

构建项目的 pro 文件是 my_app.pro,其中包含(除其他外)以下几行:

INCLUDEPATH = folder1 folder2
include(components/comp1.pro)
include(components/comp2.pro)

如果我从 src 目录运行 qmake:qmake Buildfiles/my_app.pro项目构建干净。如果我现在尝试使用 Qt Creator 打开 my_app.pro 文件,它不会加载任何标题或源(在文件夹 1 和文件夹 2 中),因为(我假设)Qt Creator 将在当前目录中查找文件夹 1 和文件夹 2 并且找不到他们。它确实加载了 components/compX.pro。

有没有办法让 Qt Creator 正确加载 pro 文件而不更改 pro 文件本身(因为有客户端代码从 src 目录构建它)?也许通过编写一个新的简短 pro 文件来加载 my_app.pro 文件?

谢谢你的建议!

标签: c++qtqt-creator

解决方案


是的!如果更改 my_app.pro 文件不是一个选项,您可以在根文件夹中添加一个 subdirs.pro 文件,该文件将简单地包含提到的所有子目录的相对路径,作为 'SUBDIRS +=' qmake 系统变量的参数。这应该运作良好。

供参考- https://wiki.qt.io/SUBDIRS__-_handling_dependencies


推荐阅读