QT_NO_DEBUG 是否导致 NDEBUG 的定义?
Does QT_NO_DEBUG cause a definition of NDEBUG?
我正在审核一些使用 Qt 框架编写的源代码。典型的发布构建命令行输出包括 QT_NO_DEBUG
预处理器宏,但 不 包括 Posix 的 NDEBUG
预处理器宏。 Qt documentation on QT_NO_DEBUG
不讨论 NDEBUG
(顺便说一句,我可能没有找到正确的文档)。
Qt 的 QT_NO_DEBUG
是否导致 Posix 的 NDEBUG
的定义?
没有。添加
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);
}
我正在审核一些使用 Qt 框架编写的源代码。典型的发布构建命令行输出包括 QT_NO_DEBUG
预处理器宏,但 不 包括 Posix 的 NDEBUG
预处理器宏。 Qt documentation on QT_NO_DEBUG
不讨论 NDEBUG
(顺便说一句,我可能没有找到正确的文档)。
Qt 的 QT_NO_DEBUG
是否导致 Posix 的 NDEBUG
的定义?
没有。添加
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);
}