2012-10-09 57 views
6

有一个古老的英特尔酷睿双核的MacBook雪豹,当我尝试使用G ++和输入参数来编译STD = C++ 0x中,我得到:克++不会编译STD =的C++ 0x下雪豹

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

任何想法如何解决这个问题?

回答

6

C++ 0x/C++ 11仅支持从gcc v4.3开始添加,请参阅this page以检查在哪个gcc版本中添加了哪些C++功能。

或者,您可以使用clang ++编译器,它也是标准的XCode。有关版本信息,请参阅this page

或安装从macports

顺便说一句gcc47,更好地利用-std=c++11,在c++0x选项没有被铛支持。

+2

当然,在使用g ++时,'-std = C++ 11'(不像'C++ 0x')只在g ++ 4.7以后才支持,所以在不久的将来,什么更好的决定取决于你需要与哪个编译器兼容。 – Grizzly

+0

在macports安装上的gcc/g ++被安装为g ++ - mp-v,其中v是版本号。你可以立即检查你是否有任何mp版本,方法是输入gcc-mp并点击制表符完成标签,或者g ++ -mp并执行相同的操作。 – bazz