我有一个带有子模板的顶级.pro文件
TEMPLATE = subdirs
SUBDIRS += \
common/tests
common/tests
包含.pro文件,但qmake无法找到它:
Could not find .pro file for sub dir "common/tests" in "/home/o.antonyan/Documents/mt3/main/src/common/tests"
但它在那里:
ls /home/o.antonyan/Documents/mt3/main/src/common/tests
api interfaces Makefile tests_common.pro.user ui
dataformat.cpp local_enviroment.cpp tests_common.pro types
如果我将此pro文件移动到父目录并修改topp-level qmake SUBDIRS += common
,那么它可以工作。问题是只有当子目录包含超过1级深度的相对路径时。
QMake 3.0版在GNU / Linux x86上使用Qt版本5.4.1,从源代码编译Qt
答案 0 :(得分:5)
来自docs:
建议每个子目录中的项目文件与子目录本身具有相同的基本名称,因为这样可以省略文件名。例如,如果子目录名为myapp,则该目录中的项目文件应称为myapp.pro。
尝试将tests_common.pro
重命名为tests.pro
。
答案 1 :(得分:4)
我遇到了同样的问题,并为顶级.pro文件找到了这个解决方案:
TEMPLATE = subdirs
tests_common.file = tests/tests_common.pro
SUBDIRS += tests_common
但现在我会优先考虑svlasov的答案。