回答:
CPPFLAGSC P re Pプロセッサのフラグ用であることになっています。CXXFLAGSC ++コンパイラのフラグ用です。
makeのデフォルトルール(私のマシンでは、とにかく)はCPPFLAGSほぼすべてにCFLAGS渡され、CのCXXFLAGSコンパイルとリンク時にのみ渡され、C ++のコンパイルとリンク時にのみ渡されます。
xです+ので、それの側になっC++FLAGSコンパイラを爆破します。...パーティーに遅れて到着した可能性がありますが、それでも間違ったパーティーに時間どおりに到着するよりはましです。
CPPFLAGSで、NOTのためにC PのLU PのLUが、CXXFLAGS です。
デフォルトでCPPFLAGSは、CプリプロセッサにCXXFLAGS渡されますが、C ++コンパイラには渡されます。
GNUマニュアルを作成します。このような質問(参照のための優れたリソースである暗黙的変数)。
デフォルトでは、これらは何かに設定されています。
実際には、すべてのプロジェクトが何をするかを知る必要があります。事実上、makeに組み込まれているこれらのデフォルトを使用することはありません。たとえば、「Cプリプロセッサへのフラグ」を意味するCPPFLAGSに依存している場合、気になるプロジェクトが「C ++コンパイラへのフラグ」を意味するために使用していることがわかります。代わりに。また、CFLAGSフラグはC ++コンパイル行に渡されますか?時々。常にではない。等々
make -p