当子目录包含相对路径时,找不到子目录的.pr文件



我有一个带有子目录模板的顶级.pr文件

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

如果我将这个专业文件移到父目录并修改顶级qmake SUBDIRS += common,那么它就可以工作了。只有当子目录包含的相对路径深度超过1级时,问题才会出现。

QMake版本3.0在GNU/Linux x86上使用Qt版本5.4.1,从源编译Qt

来自文档:

建议每个子目录中的项目文件与子目录本身具有相同的基本名称,因为这样可以省略文件名。例如,如果子目录名为myapp,则该目录中的项目文件应称为myapp.pro.

尝试将tests_common.pro重命名为tests.pro

我遇到了同样的问题,并为顶级.pr文件找到了这个解决方案:

TEMPLATE = subdirs
tests_common.file = tests/tests_common.pro
SUBDIRS += tests_common

但现在我更喜欢斯拉索夫的回答。

相关内容

  • 没有找到相关文章

最新更新