我只是遇到一个问题,即我的ubuntu上所有的东西都运行良好。 但是,我希望在我的Mac上工作,坏事就发生了。 它显示以下错误
cc1plus: error: unrecognized command line option "-std=c++0x"
我是mac的新手,我安装了xcode 4。 我想必须有c ++ 0x,但我想知道如何用waf配置它。
非常感谢!!
答案 0 :(得分:2)
我猜你正在使用Xcode提供的GCC。这是GCC 4.2.1,这是一个相当古老的版本,Apple在可预见的未来不会更新。
您基本上有两种选择:
除了GCC之外,Xcode还提供Clang / LLVM,因此您可以使用Clang / LLVM。 Clang / LLVM识别-std=c++0x
选项,但C ++ 0x不像最近版本的GCC那样完全支持。 The LLVM project keeps a page listing their current C++0x support status
使用更新版本的GCC。您可以在本地编译它,也可以通过Mac OS X上提供的开源软件包管理器安装它:MacPorts,Fink,Homebrew。我真的不知道他们是否能够建造哪些版本的GCC,所以请先与他们核对。
答案 1 :(得分:2)
由于 Xcode 在Mac上附带 Clang ,如果您配置 waf ,则可以获得 c ++ 0x 支持使用 Clang 。
在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
答案 2 :(得分:1)