我正在尝试使用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包,我希望你们能帮帮忙。
非常感谢!
答案 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