9

ここhttps://launchpad.net/~eudoxos/+archive/llvm-3.1でパッケージバージョンを使用してインストールしたclangを使用してC++プログラムをコンパイルしようとしています。これはコマンドです:

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 ++ ubuntuパッケージが見つからないため、ソースからlibc ++をコンパイルしようとして大混乱を起こす前に(うまくいくとは思えません)、皆さんが助けてくれることを望んでいました。

どうもありがとう!

4

2 に答える 2

3

残念ながら、私が知る限り、現在 Linux で -stdlib=libc++ を clang で使用するには、ソースから libc++ (およびおそらく libc++abi も) をビルドする必要があります。

于 2012-08-27T18:58:54.940 に答える
1

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

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

于 2015-07-18T06:30:15.867 に答える