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

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

即使它是调试版本,Qt Creator也会使printf变灰,并且在我运行它时,会打印"This is a debug build"

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

最佳答案

以下在我的*.pro文件中正常工作:

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

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

07-22 03:09