Назад | Перейти на главную страницу

Где gcc хранит свои встроенные пути к каталогам include

GCC имеет встроенные каталоги включения для определенных стандартных заголовков. Мне просто нужно знать, где находится этот список. Мой недавно скомпилированный gcc не будет компилировать мою небольшую тестовую программу на C ++, потому что он не может найти стандартные заголовки. Я думаю, что это не удается из-за некоторых параметров конфигурации, которые я использовал, чтобы сделать мою файловую систему более организованной. Я установил bindir и libdir, которые, как мне кажется, по какой-то причине могли испортить встроенные пути включения.

Программа (dummy.c):

#include <iostream>
void main(){}

Команда:

g++ dummy.c

Ошибка:

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

Препроцессор может сказать вам, что он использует

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.

Вы можете добавить каталоги в путь поиска, установив C_INCLUDE_PATH и / или CPLUS_INCLUDE_PATH переменные среды