3

ubuntuですべてがうまく機能するという問題に苦しんでいます。しかし、Mac で動作させたいのですが、悪いことが起こります。次のエラーが表示されます

cc1plus: error: unrecognized command line option "-std=c++0x"

私はMacの初心者で、xcode 4をインストールしました。c++0x があるはずなのですが、どうやって waf で設定すればよいのでしょう。

どうもありがとう!!

4

3 に答える 3

2

Xcodeに付属のGCCを使用していると思います。それは GCC 4.2.1 で、かなり古いバージョンで、近い将来 Apple によって更新されることはありません。

基本的に 2 つのオプションがあります。

  • Xcode には GCC の他に Clang/LLVM が付属しているため、代わりに Clang/LLVM を使用できます。この-std=c++0xオプションは Clang/LLVM によって認識されますが、C++0x は最近のバージョンの GCC ほど完全にはサポートされていません。LLVM プロジェクトは、現在の C++0x サポート状況を一覧表示するページを保持しています

  • より新しいバージョンの GCC を使用してください。ローカルでコンパイルするか、Mac OS X で利用可能なオープン ソース パッケージ マネージャー (MacPorts、Fink、Homebrew) を介してインストールできます。彼らがビルドできるかどうか、またどのバージョンの GCC をビルドできるかはわかりません。最初に確認してください。

于 2011-04-19T23:35:19.530 に答える
2

Xcodeには Mac のClangが付属しているため、 Clangを使用するようにwafを構成すると、 c++0xサポートを取得できます。

設定するwscript追加で:

def configure( conf ):
    ...
    conf.env.CXXFLAGS = [ '-std=c++0x', '-stdlib=libc++' ]
    conf.env.LINKFLAGS = [ '-std=c++0x', '-stdlib=libc++' ]
    ....

次にwafを次のように実行します。

CXX=clang++ waf configure
CXX=clang++ waf build
于 2012-05-29T04:29:16.120 に答える
1

Macでは、 clangを間違えることはできません。コンパイラを自分でビルドする必要があります(たとえば、すでに持っているgcc-4.2を使用します)。-std = c++0xがあります。サポートは完全ではありませんが、常に成長しています。Macでは、C ++0xサポート用のlibc++(clangと組み合わせて)も検討できます。

于 2011-04-20T00:03:29.130 に答える