我想知道是否可以在 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/