在ubuntu 12.04上用libc ++铿锵3.1,找不到iostream

时间:2012-08-16 01:25:19

标签: ubuntu clang libc++

我正在尝试使用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包,我希望你们能帮帮忙。

非常感谢!

2 个答案:

答案 0 :(得分:3)

不幸的是,据我所知,你现在需要从源代码构建libc ++(也可能是libc ++ abi),在Linux上使用带有clang的-stdlib = libc ++。

答案 1 :(得分:0)

sudo apt-get install -y clang-3.6 lldb-3.6 libc ++ - dev libc ++ abi-dev

https://gist.github.com/fyears/745da3cf6b19dbff3d0e