gpt4 book ai didi

c++ - 使用宏在本地禁用 qDebug 输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:16 32 4
gpt4 key购买 nike

我在整个代码中都使用了 qDebug。现在我想通过翻译单元限制它的输出,定义一个单独的宏来启用/禁用翻译单元中的 qDebug 输出:

测试.pro:

DEFINES += NO_DEBUG_ONE

testone.cpp:

#ifdef NO_DEBUG_ONE
#define QT_NO_DEBUG_OUTPUT
#endif

testtwo.cpp:

#ifdef NO_DEBUG_TWO
#define QT_NO_DEBUG_OUTPUT
#endif

因此,像这样设置宏我希望仅在 testtwo.cpp 中获得 qDebug 输出,但我看到来自两个翻译单元的 qDebug 消息。

我在这里缺少什么以及如何解决它?

最佳答案

将您的代码移动到 testone.cpptesttwo.cpp 的顶部,您应该可以开始了。

您可以在编译应用程序时使用 QT_NO_DEBUG_OUTPUTQT_NO_WARNING_OUTPUT,但必须在包含 Qt header 之前设置它们。

使用 cmake,您可以在每个文件的基础上添加这些定义,但我没有看到使用 qmake 进行此操作的简单方法。

关于c++ - 使用宏在本地禁用 qDebug 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33183717/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com