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
环境变量将目录添加到搜索路径