G ++からの特定の警告を抑制したい。 -Wno-XXX
フラグを知っていますが、もっと具体的なものを探しています。 -Weffc++
の警告のsomeが必要ですが、allの警告は必要ありません。 lintでできることのようなもの-特定のメッセージを無効にします。
これを行うための組み込みの方法はgccにありますか?ラッパースクリプトを作成する必要がありますか?
残念ながら、この機能はg ++では提供されていません。 VC++では、 #pragma warning を使用して、特定の警告を無効にすることができます。 gccでは、最も近いものは diagnostic pragmas です。これにより、特定のファイルまたはプロジェクトの特定のタイプの診断を有効/無効にできます。
一部の警告については、それらを無効にするコマンドラインスイッチがあります。使用するスイッチを知るには、-fdiagnostics-show-optionをgccに渡します。
出力でgrep -vを使用できます。
無効にしたい警告によっては、コードで修正できる場合があります。例えば。:
int main()
{
int i;
}
生成:foo.cc:4:警告:未使用の変数 'i'
これはしませんが:
#define MARKUSED(X) ((void)(&(X)))
int main()
{
int i;
MARKUSED(i);
}
標準エラーを、見たくないものを削除するフィルターにパイプします。たとえば、これは私のmakeファイルです。
main.o:main.cpp g ++ -c -Wall main.cpp 2>&1 | grep -vWunused-変数