QMake不会更新subdir makefile

Tsu*_*shi 9 qmake qt4 qt4.8


问题

我正在使用qmake与QT Creator一起开发一个多可执行的QT项目.每个可执行文件都有自己的.pro文件,所有这些文件都包含在一个开头的.pro文件中(template = subdirs).每个单独的.pro文件还包含一个公共的.pri文件,该文件设置DESTDIR,以便所有可执行文件最终都在同一个地方.此DESTDIR取决于它是编译为调试还是发布.直到我们通过另一个子目录的.pro添加的涵盖范围广泛的一个下的可执行文件的集合,这已经表现的很出色.整体设置看起来像这样:

  • All.pro
  • | - Project1.pro
  • | - Project2.pro
  • | - Subdirs.pro
  • | - | - Project3.pro
  • | - | - Project4.pro

如果你有一个新签出的副本,你可以运行qmake,一切都会正常工作,直到你从调试切换到发布,反之亦然.执行此操作时,Project1.pro和Project2.pro更新并将其可执行文件放在正确的目录中,但Project3.pro和Project4.pro使用旧目录.


尝试

如果我手动删除所有受影响的makefile,qmake将生成新的.我想我可以写一些预编译命令来每次删除所有的makefile,但这似乎是错误的做事方式,更不用说我必须花费的时间来确保它在我们所有的平台上运行.

我在QT 4.6.4到4.8.1中试过这个

当我使用QT Creator时,我通过不同的构建配置在调试和释放模式之间切换,模仿我在命令谎言上做的事情(即添加或删除CONFIG + = debug)


问题

  • 什么阻止qmake更新makefile?
  • 如果它只是qmake中的一个错误,那么最好的解决方法是什么?

非常感谢任何和所有的帮助.

jwe*_*rny 8

尽管QMake文档表明它仅适用于项目模式(创建.pro文件),但请尝试将该-r选项添加到qmake以强制它通过目录进行递归.

这是我们过去在多层次深度SUBDIR项目中使用的内容.