linux - 如何在 Qt Creator 中抑制警告

标签 linux qt g++ qt-creator compiler-warnings

我想知道是否可以在 Qt-Creator 中抑制特定于编译器的警告。

我的 g++-4.5 打印:

warning: enumeral and non-enumeral type in conditional expression

我想摆脱它,因为它很烦人。

  • Ubuntu 11.04 x64
  • g++-4.5
  • QtCreator 2.01
  • Qt 4.7

谢谢!

最佳答案

你需要使用这个:

QMAKE_CXXFLAGS += -Wno-enum-compare

例如,如果您收到以 -Wenum-compare 结尾的警告。

另请注意,根据 GCC 文档,某些警告无法被抑制 take a look at this for ones that you can't suppress , 这样你就不会得到 认为您的标志无法正常工作的错误想法。

知道标志是否被传递给编译器的最好方法显然是查看编译器输出,并确保你的标志在那里,你应该看到 -Wno-enum-compare 在命令行中,例如,即使标志不抑制任何东西。你会惊讶地发现这样的信息是多么困难,它需要一些挖掘,如果你在编辑 .pro 文件时遇到问题,我最终会在编辑 .pro 文件时从自动完成中找到它,按 Ctrl+Space(或开始输入单词并按 Shift+Home),以获取可在 .pro 文件中使用的有效内容列表,就像任何其他通常的源文件。它帮助我找到了正确的东西(QMAKE_CXXFLAGS,事实证明,出于某种原因,通常不是人们建议的那样)......哦,是的,这是关于 Qt 4.8 版,creator 2.4,所以它可能已经改变,因为这篇文章(他们似乎很喜欢这样做,我看到较新的版本已经发生了巨大的变化)。

关于linux - 如何在 Qt Creator 中抑制警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9064678/

相关文章:

Linux 用户空间 PCI 驱动程序

c++ - 如何正确地将 OpenCV 库链接到 Windows 上的 Eclipse?

c++ - 异常未被销毁

linux - 防止 svn 提交,命令行

c - 如何在 Linux 中控制鼠标移动?

c - 访问内核模块中进程的预定指令

c++ - 在应用程序之间共享数据——共享内存与 D-Bus 与文件操作

c++ - Qt 类型作为函数的参数

c++ - 对 QJsonArray 进行排序

c++ - "multiple definition of ` 与 DLL 链接时 atexit '"