gcc は C および C++ ヘッダー ファイルをどこで検索しますか?

`gcc -print-prog-name=cc1plus` -v

このコマンドは、gcc にどの C++ かを尋ねます。

特定の設定について信頼できる回答が得られます。

同様に、C についても プリプロセッサ:

`gcc -print-prog-name=cpp` -v

さらに、gcc は -I の後に指定されたディレクトリを検索します。 オプション。



偽のシステム ヘッダーをインクルードしようとするファイルを作成できます。そのようなソースで gcc を詳細モードで実行すると、偽のヘッダーを探すときにすべてのシステム インクルードの場所が一覧表示されます。

$ echo "#include <bogus.h>" > 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