2

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?

4

1 回答 1

6

4.7 之前的 GCC 版本使用“-std=c++0x”而不是“-std=c++11”,因为在这些版本发布时标准并不一定是 C++11。更高版本的 GCC 版本中存在C++11 功能,这些功能不会在旧版本上实现。GCC 4.8.1 是第一个真正具有 C++11 功能的版本。

我想您可以将编译器包更新为最新版本,同时将大部分 Ubuntu 安装保持在 12.04。

于 2013-07-28T07:06:24.623 回答