即使选择了Debug构建,Qt Creator的intellisense也会使#ifdef _DEBUG块变灰

时间:2013-02-21 09:05:04

标签: c++ qt qt-creator conditional-compilation

当我的代码中有#ifdef这样的

#ifdef _DEBUG
    printf("This is a debug build");
#endif

Qt Creator灰色printf,即使它是一个调试版本,当我运行它"This is a debug build"时会被打印出来。

似乎intellisense没有看到预处理器定义将通过命令行(即-D_DEBUG)传递给编译器,而不是在头文件/源文件中定义。

1 个答案:

答案 0 :(得分:10)

以下在我的*.pro文件中工作得很好:

CONFIG(debug, release|debug):DEFINES += _DEBUG

切换构建类型然后也交换灰色区域。不过,我正在使用Qt5。