有什么方法可以让g ++只发出与我的文件有关的警告吗?

Ale*_*lex 6 c c++ gcc warnings g++

我喜欢用-Wall编译我的代码,有时甚至是-dantantic.它部分是一种风格的东西,部分是它偶尔发出非常非常有用的警告(例如使用=而不是==).

但是,我的一些标题的作者显然不是这样的粘合剂.使用两个警告级别中的任何一个进行编译会产生巨大的输出混乱,完全无法首先破坏编译方式的目的.

那么如何让编译器忽略这些警告呢?

gre*_*ade 8

作为JS Bangs的回答,您可以让GCC将它们视为系统头,这会禁用这些头的所有警告(除了#warning指令).

如果-isystem交换机无用,您可以使用仅包含相应行的更简单的标头包装所有违规标头:

#pragma GCC system_header
Run Code Online (Sandbox Code Playgroud)


Jos*_*ley 7

在调用GCC时,使用-isystem而不是为-I有问题的标头提供路径应该使这些标头的警告静音.请参阅GCC文档此SO问题.