Antworten:
CPPFLAGS
soll für Flaggen für den C P re P ressor sein; CXXFLAGS
ist für Flags für den C ++ - Compiler.
Die Standardregeln in make (auf meinem Computer jedenfalls) werden CPPFLAGS
an fast alles übergeben, CFLAGS
nur beim Kompilieren und Verknüpfen von C und CXXFLAGS
nur beim Kompilieren und Verknüpfen von C ++.
x
ist ein +
auf die Seite gedreht, weil C++FLAGS
der Compiler in die Luft jagen würde. ... Ich bin vielleicht spät zur Party gekommen, aber das ist immer noch besser, als pünktlich zur falschen Party zu kommen.
CPPFLAGS
ist NICHT für C P lus P lus aber CXXFLAGS
ist.
Standardmäßig CPPFLAGS
wird es dem C-Präprozessor übergeben, während CXXFLAGS
es dem C ++ - Compiler übergeben wird.
Das GNU Make Manual ist eine gute Quelle für Fragen wie diese (siehe Implizite Variablen ).
CPPFLAGS sind für den C-Präprozessor, während CXXFLAGS für den C ++ - Compiler sind.
Siehe hier .
Standardmäßig sind sie auf etwas eingestellt.
In der Praxis müssen Sie wissen, was jedes einzelne Projekt tut. Praktisch niemand verwendet diese in make integrierten Standardeinstellungen. Wenn Sie sich beispielsweise auf CPPFLAGS verlassen, das "Flags für den C-Präprozessor" bedeutet, werden Sie feststellen, dass das Projekt, das Sie interessiert, "Flags für den C ++ - Compiler" bedeutet. stattdessen. Und wird das CFLAGS-Flag an C ++ - Kompilierungszeilen übergeben? Manchmal. Nicht immer. Usw. usw.
make -p