g ++不会在Sno​​w Leopard下编译std = c ++ 0x

Sma*_*jjk 6 c++ gcc g++ osx-snow-leopard c++11

有一个旧的英特尔酷睿双核MacBook与Snow Leopard,当我尝试使用g ++编译和输入参数std = c ++ 0x我得到:

cc1plus: error: unrecognized command line option "-std=c++0x"
Run Code Online (Sandbox Code Playgroud)

有关如何解决此问题的任何想法?

Wil*_*eld 6

c ++ 0x/c ++ 11支持仅从gcc v4.3开始添加,请参阅此页面以查看在gcc版本中添加了哪些c ++功能.

或者你也可以使用clang ++编译器,它也是XCode的标准配置.有关版本信息,请参阅此页面.

或者从macports安装gcc47

顺便说一句,更好的使用-std=c++11,c++0xclang不支持该选项.

  • 当然使用g ++时,`-std = c ++ 11`(与`c ++ 0x`不同)仅支持g ++ 4.7,所以在不久的将来,什么是更好的决定取决于你的编译器需要兼容. (2认同)