14

Moutain Lion に Xcode 4.5.2 があり、最新の「コマンド ライン ツール」をインストールしましたが、g++or clang++(および options -std=c++11 -stdlib=libc++) でコンパイルしようとすると、エラーが発生します。とg++:

cc1plus: error: unrecognized command line option "-std=c++11"
cc1plus: error: unrecognized command line option "-stdlib=libc++" 

clang++:

clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)

それはQtプロジェクトにあります。

では、Mac で C++11 を使用するにはどうすればよいでしょうか?

4

3 に答える 3

8

ご存知のように、g++はこれらのコマンドラインオプションをサポートしていません。

Xcodeを使用しているようです。

clangの場合は、プロジェクト設定を確認し、「デプロイメントターゲット」が10.7(または10.8)に設定されていることを確認する必要があります。

エラーメッセージが示しているのは、libc++は10.6以前では使用できないということです。

于 2012-12-19T18:26:28.097 に答える
3

C++11 を機能させるために、Mac に gcc-4.7 をインストールしました。現在のバージョンの GCC は C++11 のサポートにかなり優れているため、これは公正な選択です。

インストールはHomebrewで行うことができ、それほど複雑ではありません (少なくとも、私はそれを行うことができました...)

Homebrew をまだ持っていない場合にインストールするには:

ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

今すぐ実行

brew doctor

発生した問題を修正します (hombrew のドキュメントにそのための記述があります)。最後に、現在の gcc をインストールします。

brew install gcc

すべてがうまくいけばg++-4.7、にアクセスできるはず-std=c++0xです。

于 2012-12-19T20:10:33.783 に答える
0

うまくいかない-std=c++0x場合は試してください。c++11このオプションのサポート-std=c++11はGCCで比較的新しく、最新のバージョンがない可能性があります。

libc++の問題についてマーシャルを信頼します。

于 2012-12-19T18:31:28.640 に答える