ubuntuですべてがうまく機能するという問題に苦しんでいます。しかし、Mac で動作させたいのですが、悪いことが起こります。次のエラーが表示されます
cc1plus: error: unrecognized command line option "-std=c++0x"
私はMacの初心者で、xcode 4をインストールしました。c++0x があるはずなのですが、どうやって waf で設定すればよいのでしょう。
どうもありがとう!!
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 をビルドできるかはわかりません。最初に確認してください。
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
Macでは、 clangを間違えることはできません。コンパイラを自分でビルドする必要があります(たとえば、すでに持っているgcc-4.2を使用します)。-std = c++0xがあります。サポートは完全ではありませんが、常に成長しています。Macでは、C ++0xサポート用のlibc++(clangと組み合わせて)も検討できます。