私が構築しようとしているプロジェクトにはデフォルトのフラグがあります
CFLAGS = -Wall -g -O2
CXXFLAGS = -g -O2
これらの変数の両方にフラグ-w
を追加する必要があります(削除するには、「すべての警告をエラーとして考慮する」)
私はそれを解決する方法を持っています
make 'CFLAGS=-Wall -g -O2 -w'; 'CXXFLAGS=-g -O2 -w'
OR
./configure
を実行し、Makefile
を静的に変更します
しかし、configure
またはmake
の実行中に既存のオプションにオプションを追加したい
ポスト -std = gnu99などのCFLAGをautotoolsプロジェクトに追加する場所 は、便利にマクロを使用してこれを実現します。
あなたはほとんどそれを正しく持っています。なぜセミコロンを追加したのですか?
configure
行でそれを行うには:
./configure CFLAGS='-g -O2 -w' CXXFLAGS='-g -O2 -w'
make
行でそれを行うには:
make CFLAGS='-g -O2 -w' CXXFLAGS='-g -O2 -w'
ただし、実際には削除されませんすべての警告をエラーと見なします;すべての警告が削除されます。したがって、-Wall
と-w
の両方を指定しても意味がありません。警告を保持したいが、エラーと見なさないようにするには、-Wall -Wno-error
フラグを使用します。
または、デフォルトで-Werror
を有効にするほとんどのconfigure
スクリプトには、--disable-werror
などのフラグもあります。 ./configure --help
を実行し、そのようなものがあるかどうかを確認します。