あるヘッダファイルを-Wallの対象から除く
gccで-Wall付きでコンパイルした際、他者ライブラリのヘッダファイルからのwarningがあまりに多かったので、これらのヘッダファイルを-Wallの対象から除外したくなった。
ググッた結果、以下のページにヒット: http://stackoverflow.com/questions/1867065/how-to-suppress-gcc-warnings-from-library-headers
インクルードパスを、-Iではなく-isystemで指定すればよい。これにより、指定されたパスがシステムのインクルードパスと解釈され、warningが出なくなる。
例えば以下のコマンドだと、include以下のヘッダファイルは-Wallの適用対象外になる:
g++ -Wall -O2 -c -o test.o test.cpp -I. -isystem include