QT_NO_DEBUG会导致NDEBUG的定义吗?

时间:2015-03-27 19:19:05

标签: c++ qt macros c-preprocessor

我正在审核使用Qt框架编写的一些源代码。典型的发布构建命令行输出包括QT_NO_DEBUG预处理器宏,但包含Posix的NDEBUG预处理器宏。 Qt documentation on QT_NO_DEBUG没有讨论NDEBUG(我可能没有找到正确的文档,顺便说一下。)

Qt' QT_NO_DEBUG会导致Posix&{39} NDEBUG的定义吗?

1 个答案:

答案 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);
}