main.cpp是:
#include <iostream>
int main()
{
#ifdef CONDITION
std::cout << "built in debug mode" << std::endl;
#endif
return 0;
}
.pro文件是:
SOURCES += main.cpp
debug:DEFINES += "CONDITION"
问题在于发布和调试构建输出:
built in debug mode
我错过了什么?
您也可以使用:运算符执行单行条件 任务;例如:
win32:DEFINES += QT_DLL
编辑:
更改
debug:DEFINES += CONDITION
到
DEBUG:DEFINES += "CONDITION"
解决了这个问题。为什么这是如此仍然是一个谜,因为我有:
CONFIG+=debug
和不
CONFIG+=DEBUG
使用调试配置的qmake的参数。
同样在文档中,他们使用小写:例如
macx:debug {
HEADERS += debugging.h
}
答案 0 :(得分:1)
此论坛帖子(http://www.qtcentre.org/archive/index.php/t-6028.html)表明,您可能需要使用qDebug
或仅!release
。这完全未经测试,但值得一试。