在不破坏现有编译器的情况下,在Ubuntu 11.04上获取最新C ++ 11编译器的最简单方法是什么。我更喜欢预先构建的软件包,而不是自己编译整个工具链。
答案 0 :(得分:12)
GCC 4.6提供了大多数C ++ 11功能。只需要添加标记-std=c++0x
,并且可以使用基于范围的for
循环,强枚举,UTF字符串等。对于给定版本的GCC中可用的功能列表,可以检查{{ 3}}
答案 1 :(得分:7)
2017年更新:看起来GCC 7及更高版本符合C ++ 2011标准。下面的答案的其余部分是在GCC 4.7时代写的,并且在2011年写成时是正确的。
严格来说,我不能为您提供任何100%C ++ 2011兼容的开源编译器,因为还没有100%的开源编译器。
看起来你现在应该留在GCC,GCC 4.6二进制文件包含在最近的Ubuntu发行版中。 C ++ 2011在GCC 4.6中不完整,但包含lot of 2011 stuff,而不是Clang + llvm。它超过90%的C ++ 2011功能完成。 GCC 4.7包含更多内容,但我还没有在Ubuntu 11.x中看到gcc-4.7二进制包,但你可以检查over here以获取在ubuntu上获取gcc 4.7二进制文件的另一种方法,或者尝试{{3用于ubuntu的stackexchange支持的站点。
根据AskUbuntu Clang + llvm还没有提供完整的C ++ 2011标准兼容性,而且我还没有完成确切的数学运算,但我看到Clang上的“No”条目与Gcc相比要多得多。