`gcc -print-prog-name=cc1plus` -v
Эта команда спрашивает gcc, который C++ включает препроцессор, который это использует, и затем просит что препроцессор, где это ищет.
Вы получите надежный ответ для своей определенной установки.
Аналогично, для препроцессор C :
`gcc -print-prog-name=cpp` -v
Кроме того, gcc посмотрит в каталогах, определенных после -I
опция.
Можно создать файл, который пытается включать поддельный системный заголовок. При выполнении gcc в подробном режиме на таком источнике это перечислит всю систему, включают местоположения, поскольку это ищет поддельный заголовок.
$ echo "#include <bogus.h> int main(){}" > t.c; gcc -v t.c; rm t.c
[..]
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include
/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
[..]
t.c:1:32: error: bogus.h: No such file or directory
Раздел CPP из Руководство GCC указывает, что заголовочные файлы могут быть расположены в следующих каталогах:
GCC смотрит в нескольких различных местах для заголовков. В нормальной системе Unix, если Вы не сообщаете ему иначе, это будет искать заголовки, которые требуют с #include в:
/usr/local/include
libdir/gcc/target/version/include
/usr/target/include
/usr/include
Для программ C++, это также посмотрит в/usr/include/g ++-v3, сначала.