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