如何停止有关未使用的专用字段的警告
How can I stop warnings about unused private fields?
在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标头所在的目录一起使用,这将把它们视为系统包含,并取消对它们的警告。
相关文章:
- 警告处理为错误这里有什么问题
- .cpp和.h文件中的模板专用化声明
- 调用专用模板时出错"no matching function for call to [...]"
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 模板专用化(按容器):value_type
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 使用typeid警告未使用的变量
- 静态数据成员模板专用化的实例化点在哪里
- 示例C++项目编译中的警告
- 特征 3 类的模板专用化
- Visual Studio 2017 不允许我创建 C++ 专用模板
- 警告:在函数返回类型 [-Wignore 限定符] 时忽略类型限定符
- 使用类的特定模板专用化时的编译器警告
- 如何停止有关未使用的专用字段的警告
- 警告:不同命名空间中的模板专用化