当我的代码中有#ifdef
这样的
#ifdef _DEBUG
printf("This is a debug build");
#endif
Qt Creator灰色printf
,即使它是一个调试版本,当我运行它"This is a debug build"
时会被打印出来。
似乎intellisense没有看到预处理器定义将通过命令行(即-D_DEBUG
)传递给编译器,而不是在头文件/源文件中定义。
答案 0 :(得分:10)
以下在我的*.pro
文件中工作得很好:
CONFIG(debug, release|debug):DEFINES += _DEBUG
切换构建类型然后也交换灰色区域。不过,我正在使用Qt5。