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

関連情報