如何停止有关未使用的专用字段的警告

How can I stop warnings about unused private fields?

本文关键字:专用 警告 字段 未使用 何停止      更新时间:2023-10-16

在Qt项目中编译文件集合时,我看到了许多类似于此的警告。

In file included from /usr/local/Trolltech/Qt-4.8.6/include/QtGui/qevent.h:52:
/usr/local/Trolltech/Qt-4.8.6/include/QtGui/qmime.h:119:10: warning: private field 'type' is not used [-Wunused-private-field]
    char type;
     ^

根据各种搜索的建议,我确实添加了条目

QMAKE_CXXFLAGS+=-没有未使用的专用字段

到.pro文件,并确认它在编译器调用中正确显示,但我仍然收到警告。

我正在Mac电脑上运行Qt。

提前感谢您的任何见解。

根据这个答案,尝试

QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-private-field

QMAKE_CXXFLAGS_WARN_ON标志似乎是在QMAKE_CXXFLAGS之后添加到编译器命令行的,并且会重新启用该警告(因为QMAKE_CXXFLAGS包含-Wall)。

由于Qt库的原因,您无法编译,这听起来很奇怪。由于我不在Mac上开发,我会检查支持的Mac版本/编译器以及如何在Mac上编译。之后,如果您符合要求,我会将其报告为bug。

  • QT 4.8在Mac 上的开发

  • [stackoverflow]如何在mac 上构建qt 5项目

另一种方法(正如本QT Bug:To#include生成警告中已经报道的那样)是在警告的标头周围包含杂注。

 #pragma GCC diagnostic ignored "-Wunused-private-field"
 #include <QtGui>
 #pragma GCC diagnostic warning "-Wunused-private-field"

首先,我不确定QT是否有缺陷,但我最近在QT论坛上发现了一个关于QT的问题。我希望它能得到解决。

可能的错误:qmime.h警告"字符类型未使用"

还有一个,Clang 4.2警告QMacMime未使用的专用字段"类型"

这可能会对你有所帮助。

我不是一个叮当作响的家伙,但根据http://clang.llvm.org/docs/UsersManual.html#controlling-系统标头中的诊断您可以将-isystem标志与这些Qt标头所在的目录一起使用,这将把它们视为系统包含,并取消对它们的警告。