clang说“找不到cstdlib文件”

时间:2011-07-27 14:37:38

标签: gcc g++ clang include-path

在几乎默认安装的Ubuntu 11.04上我安装了clang。

我正在尝试编译:

#include <cstdlib>
int main(){
  return 0;
}

g ++可以很好地处理它,但是clang ++错误输出:致命错误:找不到'cstdlib'文件

有人可以解释为什么会这样吗?以及需要做些什么来使这项工作? 我希望clang ++成为g ++的替代品。

1 个答案:

答案 0 :(得分:5)

好像你的clang构建没有搜索正确的平台包含路径。尝试使用

进行检查
clang -v ...

它正在寻找标题(并检查您的平台是否包含路径)。您可能必须添加其他包含目录(例如/ usr / include / c ++ / x.y)。

您可能希望查看源文件lib/Frontend/InitHeaderSearch.cpp,方法AddDefaultCPlusPlusIncludePaths执行某些分发/ gcc版本特定的魔术(我必须为我自己的系统修复一次)。< / p>