jww*_*jww 3 c++ macros qt c-preprocessor
我正在审核一些用Qt框架编写的源代码.一个典型的发布版本的命令行输出包括QT_NO_DEBUG预处理宏,但不包括的Posix的NDEBUG预处理宏.Qt 文档QT_NO_DEBUG没有讨论NDEBUG(我可能没有找到正确的文档,顺便说一下).
Qt是否QT_NO_DEBUG会导致Posix的定义NDEBUG?
不,加
CONFIG(release, debug|release): DEFINES += NDEBUG
Run Code Online (Sandbox Code Playgroud)
你的.pro文件和测试
{
bool valuesEqual = false;
#ifdef NDEBUG
#ifdef QT_NO_DEBUG
valuesEqual = true;
#endif
#endif
#ifndef NDEBUG
#ifndef QT_NO_DEBUG
valuesEqual = true;
#endif
#endif
EXPECT_TRUE(valuesEqual);
}
Run Code Online (Sandbox Code Playgroud)