【问题标题】:Qt after specifying output directory it still create debug and release folders in local directoryQt 指定输出目录后,它仍然在本地目录中创建调试和发布文件夹
【发布时间】:2016-06-30 05:21:42
【问题描述】:

我使用宏在 .pro 文件中指定输出目录,效果很好。但我的本地目录仍然创建了调试和发布文件夹。我怎样才能停止创建这 2 个空文件夹?

编辑:这是在我的 Windows 7 上。我使用 qt 5.5 creator 3.6.0。 Windows 10 上的相同设置行为不同。在 Windows 10 上,它输出到与 bin 相同级别的文件夹,称为 build-configuration-details。

debug {
    DESTDIR = ../../bin/debug
    MOC_DIR = ../../build/lib/debug
    OBJECTS_DIR = ../../build/lib/debug
}
release {
    DESTDIR = ../../bin/release
    MOC_DIR = ../../build/lib/release
    OBJECTS_DIR = ../../build/lib/release
}

原始结构

app
  |
  lib
   |
   .pro

编译后

bin
| |
  debug (libs)
| |
  release (libs)
|
build
| |
  debug (objects)
| |
  release (objects)
|
app
  |
  lib
   |
   .pro
   |
   debug (empty)
   |
   release (empty)

【问题讨论】:

  • 您是否在 Qt Creator 的 Project 选项卡上选中了 Shadow build 复选框?
  • 不,我没有。我应该检查一下吗?
  • 看起来我以前做过影子构建。我将对影子构建实际上是什么进行一些研究。谢谢。 @EvgenyS。请作为答案提交,我会将其标记为正确答案。
  • Qt5.8 仍然可以。使用 Shadow build checked,在 build-future-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug 文件夹中具有 Qt 项目的层次结构,对于每个项目,它确实创建 debugrelease 文件夹(尽管在这种情况下 release 文件夹总是空的) .未找到相关库。 [SO]: Qt Creator creates both a debug and a release folder inside the designated debug folder 提供了一些解决方法,但问题仍然存在。

标签: qt qmake


【解决方案1】:

为避免在源代码树中创建额外的调试和发布文件夹,您应该在 Qt Creator 中启用 Shadow build。

当它未启用时,Qt Creator 在源代码树中创建调试和发布文件夹(更准确地说是 qmake 创建它们)。您在 .pro 文件中设置的内容仅对 qmake 表示您要放置某些特定文件夹的位置。但是 qmake 本身正在您的源代码树中运行,并在那里创建调试和发布文件夹。当您启用影子构建时,qmake 会在您在影子构建路径中设置的文件夹中运行。

【讨论】:

    猜你喜欢
    • 2020-11-20
    • 2015-05-13
    • 2012-01-29
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 2016-11-11
    相关资源
    最近更新 更多