我有以下目录结构:
- project - test.pro - test2 - test2.pro
test.pro看起来像这样:
# ...
SUBDIRS = test2
问题是我跑的时候:
qmake test.pro
make
...它只构建test
而不构建test2
。
为什么test2
还没有建成?我该怎么做才能告诉一个Qt项目先建立另一个Qt项目?
答案 0 :(得分:4)
添加到SUBDIRS对于除子目录之外的任何TEMPLATE都没有影响,并且您不能在单个.pro文件中拥有多个TEMPLATE。换句话说,你不能只有一个.pro文件来构建一些二进制文件并调用一些子目录项目。
您需要一个仅包含子目录的顶级.pro文件。例如,您的test.pro可能是:
TEMPLATE = subdirs
SUBDIRS = test1 test2
...然后你会有test1和test2的子目录。
如果您不想将代码重新组织到子目录中,还可以将.pro文件的名称(而不是目录名称)放入SUBDIRS中。例如,您的test.pro可能是:
TEMPLATE = subdirs
SUBDIRS = test1.pro test2
... test1.pro可能与test.pro存在于同一目录中,并且具有通常的TEMPLATE = app stuff。