CFLAGS vs CPPFLAGS

Ich verstehe, dass CFLAGS (oder CXXFLAGS für C ++) für den Compiler bestimmt sind, während CPPFLAGS vom Präprozessor verwendet wird.

Aber ich verstehe den Unterschied immer noch nicht.

Ich muss einen Include-Pfad für eine Header-Datei angeben, die in #include enthalten ist. Da #include eine Präprozessor-Direktive ist, ist der Präprozessor (CPPFLAGS) das einzige, was mich interessiert?

Unter welchen Umständen muss ich dem Compiler einen zusätzlichen Include-Pfad geben?

Wenn der Präprozessor benötigte Header-Dateien findet und einschließt, warum muss er dann jemals über zusätzliche Include-Verzeichnisse informiert werden? Was nützt CFLAGS überhaupt?

(In meinem Fall habe ich tatsächlich festgestellt, dassBEID von diesen erlauben es mir, mein Programm zu kompilieren, was die Verwirrung noch verstärkt ... Ich kann CFLAGS benutzenODE CPPFLAGS, um mein Ziel zu erreichen (zumindest im Autoconf-Kontext). Was gibt?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage