2

我将 Qt 5.0.1 与 Windows SDK 7.1 一起使用。如果我创建一个新应用程序,New app 向导的 Kits 页面会提供创建 Debug 和 Release 目录:

Debug:   C:\Projects\MyProject-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Debug
Release: C:\Projects\MyProject-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Release

1)如果我在调试模式下编译应用程序,Qt Creator 会创建两个目录:

C:\Projects\MyProject-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Debug\debug
C:\Projects\MyProject-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Debug\release

可执行文件将在前者中创建,C:\...-Debug\debug.

2)如果我在发布模式下编译应用程序,我会得到另一对目录:

C:\Projects\MyProject-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Release\debug
C:\Projects\MyProject-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Release\release

在这种情况下,可执行文件将被放置在后者中,C:\...-Release\release.

这种嵌套目录结构背后的逻辑是什么?IDE 何时使用目录C:\...-Debug\releaseC:\...-Release\debug

更新

@phyatt 指出,在项目设置中关闭阴影构建可以解决问题。调试和发布目录将在项目的源目录中生成:

C:\Projects\MyProject\debug
C:\Projects\MyProject\release

不幸的是,这并不能回答上述问题。此外,现在项目设置页面显示警告:

C:\Projects\MyProject 中存在不完整的构建,它将被覆盖。

4

1 回答 1

2

如果您只使用单个编译器,我会进入 Projects 选项卡 > Build > General > Shadow Build,然后取消选中 Shadow Build。

这将简化配置和文件夹结构,并可能为您修复错误。

也许进去做一个干净的构建。

希望有帮助。

于 2013-04-02T23:22:41.193 回答