Wo speichert gcc seine integrierten Include-Verzeichnispfade?

Wo speichert gcc seine integrierten Include-Verzeichnispfade?

GCC hat integrierte Include-Verzeichnisse für bestimmte Standardheader. Ich muss nur wissen, wo diese Liste ist. Mein neu kompilierter GCC wird mein kleines C++-Testprogramm nicht kompilieren, da er keine Standardheader finden kann. Ich glaube, es schlägt aufgrund einiger Konfigurationsoptionen fehl, die ich verwendet habe, um mein Dateisystem besser zu organisieren. Ich habe Bindir und Libdir festgelegt, was meiner Meinung nach aus irgendeinem Grund die integrierten Include-Pfade durcheinandergebracht haben könnte.

Programm (dummy.c):

#include <iostream>
void main(){}

Befehl:

g++ dummy.c

Fehler:

dummy.c:1:20: fatal error: iostream: No such file or directory

Antwort1

Der Präprozessor kann Ihnen sagen, was er verwendet

cpp -x c++ -v

...

    #include "..." search starts here:
    #include <...> search starts here:
     /usr/include/c++/4.4
     /usr/include/c++/4.4/i486-linux-gnu
     /usr/include/c++/4.4/backward
     /usr/local/include
     /usr/lib/gcc/i486-linux-gnu/4.4.1/include
     /usr/lib/gcc/i486-linux-gnu/4.4.1/include-fixed
     /usr/include/i486-linux-gnu
     /usr/include
    End of search list.

Sie können Verzeichnisse zum Suchpfad hinzufügen, indem Sie die Umgebungsvariablen C_INCLUDE_PATHund/oder setzen.CPLUS_INCLUDE_PATH

verwandte Informationen