2012-10-09 56 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