2013-07-28 66 views
2

在Ubuntu 13.04更新中遇到了一些問題,所以我取下了我的Ubuntu 13.04系統並安裝了12.04 LTS和gnome shell,這是我更喜歡的外觀和感覺。Ubuntu 12.04附帶的GNU編譯器是否與C++ 11不兼容?

我使用的Ubuntu主要用於C++開發並使用C++ 11.我的首選IDE是CodeLite http://www.codelite.org/

我安裝CodeLite並添加用於GNU克++ C++編譯器的C++ 11編譯器開關:-std = C++ 11,如我沒有先前。 (我有很多使用C++ 11的項目,我可以在13.04上編譯和構建它們。)

但是我無法在12.04上使用編譯器開關編譯項目。我收到一條錯誤消息:

cc1plus:error:無法識別的命令行選項'-std = C++ 11'。

沒有C++ 11,我可以毫無問題地構建和運行C++項目。

Ubuntu 12.04附帶的GNU編譯器是否與C++ 11不兼容?我該如何解決這個問題?我看着新立得,並沒有找到任何可用的升級。我在12.04之前從未嘗試過,但C++ 11交換機在12.10上運行良好。

我卡住了嗎?我該如何解決這個問題,以便我可以在12.04上繼續使用C++ 11?

+0

什麼是您正在使用的完整命令?是否有可能將-std傳遞給子命令,而不是將此選項傳遞給g ++? –

回答

6

4.7之前的GCC版本使用「-std = C++ 0x」而不是「-std = C++ 11」,因爲標準在發佈這些版本時並不一定是C++ 11。有C++11 features present in later GCC versions that will not be implemented on older versions。 GCC 4.8.1是第一個真正完成C++ 11功能的版本。

我想你可以將編譯器包更新爲最新的東西,同時保持你的Ubuntu的大部分安裝在12.04。

+0

它使用C++ 0x。同時,我將不得不徘徊,看看我是否可以升級到4.8.1。也許你知道我可以在哪裏得到debian的二進制文件?我錯過了什麼?什麼? – Vector

+1

@Vector [GCC C++ 11支持狀態頁面](http://gcc.gnu.org/projects/cxx0x.html)會告訴您每個版本的GCC中存在哪些功能。 [這裏是關於在Ubuntu 12.04中安裝GCC 4.8的說明](http://askubuntu.com/questions/271388/how-to-install-gcc-4-8-in-ubuntu-12-04-from-the-terminal )。所有人都熱衷於Google。 – Casey

+0

你現在可以從該PPA安裝4.8 - 該帖子是4個月大 - 至少我只是做了它,並安裝了它。 – Vector