【发布时间】:2012-08-16 01:25:19
【问题描述】:
我正在尝试使用 clang 编译一个 C++ 程序,我在此处使用打包版本安装了该程序 https://launchpad.net/~eudoxos/+archive/llvm-3.1。这是命令:
clang++ -std=c++11 -stdlib=libc++ -g -v -c main.cpp
我得到了这个结果:
ignoring nonexistent directory "/usr/include/c++/v1"
ignoring nonexistent directory "/usr/bin/../lib/clang/3.1/include"
ignoring nonexistent directory ""
ignoring duplicate directory "/usr/include/x86_64-linux-gnu"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/include/clang/3.1/include
/usr/include/x86_64-linux-gnu
/usr/include
main.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
如您所见,它没有在正确的包含目录 /usr/include/c++/4.6 中搜索。 但我认为问题远不止于此。即使我强制它在该目录中搜索,我也会得到:
In file included from main.cpp:1:
/usr/include/c++/4.6/iostream:38:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>
并且该文件在该区域中不存在。我在想可能缺少 libc++,但在我尝试从源代码编译 libc++(我怀疑这会起作用)之前,因为我找不到任何专用的 libc++ ubuntu 包,所以我希望你们能帮忙。
非常感谢!
【问题讨论】:
-
只是一个更新,我最近切换到 Arch Linux 仍然有同样的错误,我正在使用来自 Arch extra repo 的 clang 3.1
-
'Fedora19' 和同样的问题
-
@DanB91 我也遇到了同样的问题,你找到解决办法了吗?
-
不幸的是,我认为我没有找到解决方案。我认为作为最后的手段,我尝试编译 libc++,这变得太麻烦了。我最终只是最终切换到 GCC。遗憾的是这个错误仍然是一个问题。抱歉,我无法提供更多帮助。但我建议您尝试编译 libc++,如果您想承担这项工作并在此处发回