QT_NO_DEBUG会导致NDEBUG的定义吗?

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

Sim*_*rta 7

不,加

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)