找不到子目录的 .pro 文件 - 当子目录包含相对路径时
Could not find .pro file for sub dir - when subdir contains relative path
我有一个带有子目录模板的顶级 .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 文件移动到父目录并修改顶级 qmake SUBDIRS += common
那么它就可以工作了。仅当子目录包含的相对路径深度超过 1 级时才会出现问题。
QMake 版本 3.0 在 GNU/Linux x86 上使用 Qt 版本 5.4.1,Qt 从源代码编译
来自docs:
It is recommended that the project file in each subdirectory has the same base name as the subdirectory itself, because that makes it possible to omit the file name. For example, if the subdirectory is called myapp, the project file in that directory should be called myapp.pro.
尝试将 tests_common.pro
重命名为 tests.pro
。
我遇到了同样的问题,并为顶级 .pro 文件找到了这个解决方案:
TEMPLATE = subdirs
tests_common.file = tests/tests_common.pro
SUBDIRS += tests_common
但现在我更喜欢svlasov的回答。
我有一个带有子目录模板的顶级 .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 文件移动到父目录并修改顶级 qmake SUBDIRS += common
那么它就可以工作了。仅当子目录包含的相对路径深度超过 1 级时才会出现问题。
QMake 版本 3.0 在 GNU/Linux x86 上使用 Qt 版本 5.4.1,Qt 从源代码编译
来自docs:
It is recommended that the project file in each subdirectory has the same base name as the subdirectory itself, because that makes it possible to omit the file name. For example, if the subdirectory is called myapp, the project file in that directory should be called myapp.pro.
尝试将 tests_common.pro
重命名为 tests.pro
。
我遇到了同样的问题,并为顶级 .pro 文件找到了这个解决方案:
TEMPLATE = subdirs
tests_common.file = tests/tests_common.pro
SUBDIRS += tests_common
但现在我更喜欢svlasov的回答。