2012-08-16 43 views
8

我想編譯一個C++程序使用鏗鏘我安裝使用打包版本在這裏https://launchpad.net/~eudoxos/+archive/llvm-3.1。這是命令:鏗鏘3.1 libC++在Ubuntu的12.04,iostream沒有找到

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

只是一個更新,我最近切換到Arch Linux的,仍然具有相同錯誤和我使用鏗鏘3.1從拱額外回購 – DanB91 2012-08-23 22:33:18

+1

'Fedora19'和同樣的問題 – maverik 2013-11-15 13:03:23

+0

@ DanB91我也面臨同樣的問題,你找到一個解決方案? – prat0318 2014-04-14 19:03:15

回答

3

不幸的是,據我所知,你目前需要在源碼上使用-stdlib = libC++來構建libC++(也可能是libC++ abi)。

+0

任何說明? – 2015-05-10 16:48:56

+0

@JaredBurrows這個評論很舊。現在,在大多數現代Linux發行版中,您應該可以通過軟件包管理器安裝libC++ – acm 2015-05-10 20:41:22

+0

感謝您的回覆。我在使用Clang時遇到了TravisCI的問題。 – 2015-05-10 20:50:36