如何根据调试/发布设置不同的qmake配置?

gri*_*yvp 14 qt

我需要在.pro文件中指定不同的输出和中间文件夹,以便进行调试和发布构建.我创建了一个以下测试.pro文件:

release {
  message( "release" )
}
debug {
  message( "debug" )
}
Run Code Online (Sandbox Code Playgroud)

但是使用"debug"构建在Qt Creator中编译此.pro文件会导致以下输出:

Project MESSAGE: release
Project MESSAGE: debug
Run Code Online (Sandbox Code Playgroud)

似乎"调试"和"释放"条件都设置为TrueO_O.是否有可能以某种方式在qmake中单独处理调试和发布版本?

Ser*_*nov 18

根据qmake手册:

CONFIG(release, debug|release) {
  message( "release" )
}
CONFIG(debug, debug|release) {
  message( "debug" )
}
Run Code Online (Sandbox Code Playgroud)

不过,我真的没有得到解释.似乎两个选项都是真正选择的,其中只有一个是"活跃的".但是qmake以反直觉的东西而闻名.

  • 请参阅[this](http://stackoverflow.com/q/18164490/26449)问题及其答案进行解释. (6认同)

has*_*ine 8

尝试:

CONFIG(debug, debug|release){
message("debug")
} else {
message("release")
}
Run Code Online (Sandbox Code Playgroud)

qmake会显示"调试",如果你正在建设一个项目debugdebug|release模式,否则(即:如果你正在建设它在一个release模式)"释放"信息将被显示.