web-dev-qa-db-ja.com

構成/作成中にCFLAGSおよびCXXFLAGSにコンパイルフラグを追加します。

私が構築しようとしているプロジェクトにはデフォルトのフラグがあります

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プロジェクトに追加する場所 は、便利にマクロを使用してこれを実現します。

31
Vigneshwaren

あなたはほとんどそれを正しく持っています。なぜセミコロンを追加したのですか?

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を実行し、そのようなものがあるかどうかを確認します。

49
MadScientist