在Ubuntu上安装C++ 11编译器?

tsa*_*rni 25 c++ ubuntu gcc llvm c++11

在不破坏现有编译器的情况下,在Ubuntu 11.04上获取最新C++ 11编译器的最简单方法是什么.我更喜欢预先构建的包而不是自己编译整个工具链.

Hau*_*eth 12

GCC 4.6提供了大多数C++ 11功能.一个只需添加标志-std=c++0x,可以使用基于范围的for循环,强枚举,UTF字符串等.对于给定版本的GCC中可用的功能列表,可以查看http://gcc.gnu.org/projects/ cxx0x.html.

  • GCC 4.6 是 Ubuntu 11.04 中 GCC 的默认版本,之前的版本基于 GCC 4.5,并且还具有一些功能(如强类型枚举)。 (2认同)

War*_* P 7

2017年更新:GCC 7及更高版本似乎完全符合C++ 2011标准.下面的答案的其余部分是在GCC 4.7时代写的,并且在2011年写成时是正确的.

严格来说,我不能为您提供任何100%C++ 2011兼容的开源编译器,因为还没有100%的开源编译器.

看起来你现在应该留在GCC,GCC 4.6二进制文件包含在最近的Ubuntu发行版中.C++ 2011在GCC 4.6中不完整,但包含了很多2011年的东西,超过了Clang + llvm.它超过90%的C++ 2011功能完成.GCC 4.7包含更多内容,但我还没有在Ubuntu 11.x中看到gcc-4.7二进制包,但你可以在这里查看另一种在ubuntu上获取gcc 4.7二进制文件的方法,或者尝试使用AskUbuntu,一个stackexchange驱动的站点对于ubuntu.

根据这个页面, Clang + llvm还没有提供完整的C++ 2011标准兼容性,而且我还没有完成确切的数学运算,但是我看到Clang与Gcc相比更多的"No"条目.