2012-05-02 15 views
50

Clangの最新のC++ 11機能を使用するにはどうすればよいですか?サポートされる機能のサブセットここでClangでC++ 11の機能を使用するにはどうすればよいですか?

+5

を有効にするには、このコマンドラインスイッチを使用して、ここでタグを付け、この質問は、C++ 11人の専門家に余分な可視性を持つことを将来的に十分な関心を発生する可能性が高いと思われます私にはそれだけの価値があるようですが、タグを厳密に_言語の問題に限定したい場合は、自由に削除してください。私はそれについて知りたいと思うでしょう。ありがとう:) – sarnold

答えて

66

C++ 11から最も関連性の高い機能セットを使用するには、clang 3.3が必要です。サポートされている最新機能の完全なリストについては、C++ Support in Clangをお読みください。 Clang 3.3はC++ 11の機能が完全であると主張されています。

クランのコマンドラインは、gccの互換性があるあなたはfollowinfコマンドラインスイッチを経由して

-std=c++11 

をC++ 11のサポートを有効にする必要がありますので、ポストC++ 11個の機能の束のような(もありますdeclatype(自動)、メンバ初期化子および集約)をサポートしています。私は[タグ:++ 11 C]が追加彼らに

-std=c++1y 
+2

これは残念ながらこのページは最新ではありません...私はリスト上でこの問題を提起します:x –

+3

それは、キャッシュを更新しないようにする問題があります。 Ctrl + Rだけでそれを得ることができます。 – Klaim

+4

Macでclang/llvmを使用している場合は、-stdlib = libC++(-std = C++ 11フラグの他に)を追加して、ほとんどの機能を古いlibstdC++で利用できないようにする必要があります。しかし、libstdC++にリンクされたライブラリにstdオブジェクトを渡すときにabiの不一致が生じることに注意してください(たとえば、libC++で手動でコンパイルしていないboostを使用する場合) – kamjagin

15

が打ち鳴らすによってサポートされている機能の最新のリストまで常にある:

http://clang.llvm.org/cxx_status.html

C++ 11をアクティブにするには、あなたはあなたの打ち鳴らす呼び出しで-std = C++ 11を追加する必要がありますgccのように。 clang対応またはgcc対応のIDEを使用している場合は、特定のプロジェクト設定オプションがあります。

関連する問題