構成/make中にCFLAGSとCXXFLAGSにコンパイルフラグを追加する質問する

構成/make中にCFLAGSとCXXFLAGSにコンパイルフラグを追加する質問する

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

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、そのようなものがあるかどうかを確認してください。

おすすめ記事