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
答案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
環境變數將目錄新增至搜尋路徑