私のC++コードはいくつかのライブラリ(重複したヘッダーベースのもの)とリンクしていますが、そのうちのいくつかはしばらく更新されていません。私は、警告またはエラーなしで、GCC 4.0上で-Wall
とWextra
でコードをコンパイルしていました。しかし、新しいバージョンのGCC(4.3)を使用しているので、私のファイルのいくつかは、他のライブラリのインクルードファイル(例えば、warning: type qualifiers ignored on function return type
)から警告を出力しています(ライブラリのテンプレートコードが返されたポインタのrestrict
キーワード)。同様に、私が使用しているクラスタ上のOpenMPIの若干古いバージョンの1つは、GCC 4.1でコンパイルしたときに多くの警告を表示します。他のライブラリのコンパイラの警告
質問は次のとおりです:警告を無効にするために何かすることができますか?は、他の人のコードの中にありますか?できるだけきれいで正確なコードを作成したいので(私はすべての警告を有効にしますが)、私のmakeプロセスが私が修正できない問題によって混乱している場合、目的は敗北します。コード内で特定の警告がグローバルに無効になるだけでいいですか?
私は--isystemが他の何かを変えるとは思わない。これは私のアプローチであり、うまくいきました。唯一の問題は、独自のコード(ヘッダーでマクロが定義されている場所)でマクロ展開によってエラーが発生する可能性があることです。 –