如何在Qt Creator中抑制警告

我想知道是否有可能在Qt-Creator中禁止编译器特定的警告。

我的g ++ – 4.5打印:

警告:条件expression式中的枚举types和非枚举types

我想摆脱它,因为这是非常烦人的。

  • Ubuntu 11.04 x64
  • 克++ – 4.5
  • QtCreator 2.01
  • Qt 4.7

谢谢!

Solutions Collecting From Web of "如何在Qt Creator中抑制警告"

你需要使用这个:

QMAKE_CXXFLAGS + = -Wno-enum-compare

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

此外,请注意,根据GCC文档,不能抑制一些警告,请查看您无法压制的警告,这样您就不会错误地认为您的标志不正确。

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

我已经通过海湾合作委员会的警告选项。 -Wenum-compare有选项-Wenum-compare是负责警告,但没有-Wno-enum-compare 。 除非明确设置,否则-Wenum-compare选项很可能由-Wall设置。 所以我会建议禁用-Wall

你可能有两个选择:

  1. 修复警告本身(上面看起来像你可能需要一个演员)
  2. 找到你想要删除的警告的名称,然后将它们添加到你的.pro文件中,在前面加一个'no-'。 就像是:

    CFLAGS + = -Wno-my-super-warning-I-found

 linux-g++ { QMAKE_CXXFLAGS_WARN_ON = -Wall -Wextra -Wno-enum-compare } 

或者任何使用g ++的系统

 *-g++ { QMAKE_CXXFLAGS_WARN_ON = -Wall -Wextra -Wno-enum-compare }