14

g++コンパイラの警告とエラーの動作を変更したい:

  • 通常の警告をエラーとして見つけてほしい(-Werror
  • 追加の警告を見つけてほしい。(-Wallおよび-Wextra

しかし、私の問題は、このようにして、すべての追加の警告がエラーになることです。に長いリストを設定することなく、私が望むことを達成する方法はありますか-Werror=xxx,xxx,xxx
一連のエラーのエイリアスはありますか?

4

2 に答える 2

19

-Werrorすべての警告を与えるだけでエラーになります。エラーにしたい(したくない)ものをリストする以外に、-W(no-)error=xxx「いくつかの警告をエラーにする」方法はないと思います。

もちろん、1つの解決策は、コードを2回コンパイルすることです。1回はとで、もう1回はで、ただし-Wallとではありません。-Wextra-Werror-Wall-Wextra

長期的には、(見たくない)エラーをエラーとしてマークするという余分な努力の価値があると確信しています-Werror[ただし、より良い解決策はおそらく-Wno-xxxを使用することです。 「警告するがエラーにしない」ではなく、許容できると思われる警告を無効にします。結局のところ、-Werror私の見解では、警告が含まれるプロジェクトにコードが送信されないようにすることを目的としています。警告が修正されているか、警告が無効になっているという2つのことのいずれかを意味します。そのプロジェクトにとって意味のあるもの]。

于 2013-02-18T09:38:03.137 に答える
5

-Werror=...警告の長いリストで使用するのではなく、はるかに短い警告のリストで使用できます-Werror -Wno-error=...(によって有効にされたもののみ-Wall -Wextra)。マニュアルには、どの警告が有効に-Wall -Wextraなっているのかが記載されているため、簡単です。

于 2013-02-18T09:37:48.300 に答える