Ubuntu 12.04附带的GNU编译器是否与C ++ 11不兼容?

时间:2013-07-28 07:03:19

标签: c++11 g++ ubuntu-12.04

Ubuntu 13.04更新遇到了一些问题,所以我取下了我的Ubuntu 13.04系统并安装了12.04 LTS和gnome shell,这是我喜欢的外观和感觉。

我主要使用Ubuntu进行C ++开发并使用C ++ 11.我首选的IDE是CodeLite http://www.codelite.org/

我安装了CodeLite并为GNU g ++ C ++编译器添加了C ++ 11编译器开关: -std = c ++ 11 ,就像我之前做的那样。 (我有很多使用C ++ 11的项目,我可以在13.04编译和构建它们。)

但我无法使用12.04上的编译器开关编译项目。我收到一条错误消息:

cc1plus:错误:无法识别的命令行选项'-std = c ++ 11'。

如果没有C ++ 11,我可以毫无问题地构建和运行C ++项目。

Ubuntu 12.04附带的GNU编译器是否与C ++ 11不兼容?我该如何解决这个问题?我查看了Synaptic并没有找到任何可用的升级。我之前从未尝试过12.04,但C ++ 11开关在12.10上工作正常。

我被困了吗?我该如何解决这个问题,以便我可以继续使用12.04并使用C ++ 11?

1 个答案:

答案 0 :(得分: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。