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
переменные среды