2013-07-28 109 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