2015-10-12 9 views
6

gccをclang(3.3)に置き換えてC++ 11のコードをビルドしたいので、clangのオプション-stdlib=libstdc++(STLヘッダを参照)を使うべきです。打ち鳴らすはstringようなヘッダを見ますが、4.2のディレクトリで打ち鳴らす検索ため++ 11のヘッダ(type_traits)は、Cを見つけることができません:オプションが機能しgccのヘッダーをclangで検索するには?

clang++ -stdlib=libstdc++ -E -x c++ - -v < /dev/null 
... 
/usr/include/c++/4.2 
/usr/include/c++/4.2/backward 
/usr/include/clang/3.3 
/usr/include 
... 

それはGCCのヘッダの決してバージョンで見えるようにする方法は?

私が理解する限り、libC++(libstdC++ではなく)のみがC++ 11用のclangでサポートされているので、libC++をインストールする唯一の方法はありますか?

+0

GCCをclangに置き換えたい場合、なぜGCCの標準ライブラリ実装を使用したいのですか?実際に何をしようとしていますか? –

+1

編集しないで、そのコマンドの完全な出力を投稿できますか? –

+0

複数の単語を持つニックネームの人に返答するにはどうすればよいですか? :) – pavelkolodin

答えて

1

gcc 4.2をアンインストールするか、--gcc-toolchain=<value>オプションを使用してください。例えば

--gcc-toolchain=<value> Use the gcc toolchain at the given directory 

clang++ --gcc-toolchain=/usr/local/... -stdlib=libstdc++ ...

私の知る限り理解し、++のみのlibc(++のlibstdcない)ので、唯一の方法、それはそうlibcの++をインストールC++ 11のために打ち鳴らすによってサポートされていますか?

両方のC++標準ライブラリがサポートされています。

関連する問題