在构建调试

时间:2017-06-28 06:07:22

标签: c++ qt build qmake

我在Windows下有一个Qt 5.5.1项目(使用qmake和jom构建,c ++ msvc2012)。 现在让我们假设我的项目位于这样的文件夹中:

C:\my-release-project\project.pro

现在,当我在调试模式下在该文件夹中构建项目时,链接器将库存储到:

C:\my-debug-project\...

我不知道为什么qmake用debug替换DESTDIR路径名中的每个版本。我怎么能禁用它?

1 个答案:

答案 0 :(得分:1)

正如我在评论中所述,当使用DESTDIR定义输出目录时,qmake会使用此行为。请参阅:https://codereview.qt-project.org/#/c/66221/

  

为了向后兼容,新的独占构建行为只是   为QMAKE_DIR_REPLACE_SANE命名的变量启用了Qt   本身适用于除DESTDIR以及libs和。之外的所有内容   工具也适用于DESTDIR。遗漏DESTDIR的原因   一般情况是因为许多测试和例子假设旧的   DESTDIR的行为。

我现在的解决方案是改变我的项目而不再使用DESTDIR,而是使用shadowbuild。使用$$shadowed($$PWD),您可以获取构建文件夹。然后你必须通过build-type来决定使用标准版本或调试文件夹。