我正在审核使用Qt框架编写的一些源代码。典型的发布构建命令行输出包括QT_NO_DEBUG
预处理器宏,但不包含Posix的NDEBUG
预处理器宏。 Qt documentation on QT_NO_DEBUG
没有讨论NDEBUG
(我可能没有找到正确的文档,顺便说一下。)
Qt' QT_NO_DEBUG
会导致Posix&{39} NDEBUG
的定义吗?
答案 0 :(得分:7)
没有。添加
CONFIG(release, debug|release): DEFINES += NDEBUG
到您的.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);
}