我将 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\release
和C:\...-Release\debug
?
更新
@phyatt 指出,在项目设置中关闭阴影构建可以解决问题。调试和发布目录将在项目的源目录中生成:
C:\Projects\MyProject\debug
C:\Projects\MyProject\release
不幸的是,这并不能回答上述问题。此外,现在项目设置页面显示警告:
C:\Projects\MyProject 中存在不完整的构建,它将被覆盖。