gpt4 book ai didi

c++ - QT警告级别建议

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:49 24 4
gpt4 key购买 nike

您在编译 QT 项目时使用的警告级别是多少?

当我用 W4 编译时,我收到了很多警告,例如:

C4127: conditional expression is constant

我应该在 W3 编译,还是在 W4 找到其他方法来处理警告,例如:添加新的头文件和使用编译指示(此处提到 C++ 编码标准:101 条规则、指南和最佳实践)。

你的做法是什么?

谢谢。

最佳答案

几年前我遇到了与您完全相同的问题,将编译器设置为 4 级警告以捕获尽可能多的潜在问题。当时,我与 Qt 签订了支持契约(Contract),并询问他们为什么他们的代码会生成这么多警告。他们的回应是,他们从不保证他们的代码可以在没有任何警告的情况下编译。只有他们的代码才能正确运行。

经过几次尝试,我开始用 pragma 围绕 Qt 头文件来禁用警告,如下所示 -

#pragma warning(push,3)  // drop compiler to level 3 and save current level
#include <QString>
#include <QVariant>
#include <QStack>
#include <QLabel>
#include <QtGui/QTableWidget>
#pragma warning(pop) // restore compiler warning level

通过这种方式,您只编译处于较低警告级别的 Qt 头文件。或者消除警告所需的任何级别。您可能仍然会出现一些单独的警告,因此您可以提高警告级别或使用

禁用单独的警告
#pragma warning(disable: 4700)

一些Boost库文件也有这个问题。

关于c++ - QT警告级别建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2742514/

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