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

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

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

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

#include <iostream>
void main(){}

Команда:

g++ dummy.c

Ошибка:

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

решение1

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

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

Связанный контент