c – QT警告级别建议

前端之家收集整理的这篇文章主要介绍了c – QT警告级别建议前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
编译QT项目时使用的警告级别是多少?

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

C4127: conditional expression is constant

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

你的做法是什么?

谢谢.

解决方法

我遇到了几年前你遇到的完全相同的问题,那就是将编译器设置为4级警告以尽可能多地捕获一些问题.当时,我与Qt签订了一份支持合同,并问他们为什么他们的代码会产生如此多的警告.他们的反应是,他们从不嘲笑他们的代码会在没有任何警告的情况下编译.只有他们的代码才能正确运行.

经过几次尝试后,我开始使用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&C++相关文章