ubuntu10.10升级gcc到4.7------以便支持C++11

先解释一下,为什么从09年开始就一直使用ubuntu10.10,大三的时候开始接触虚拟机VmWare使用Ubuntu。那时不懂什么是LTS,在这个虚拟机上安装了vim,g++,jdk,mysql,xlamp,python2.7,curl,go,adobe,ibus,chrome,firefox,qq,msn,openfetion,open office,msn等所以就不方便升级到12.04。

P.S.我不喜欢12.04的新风格。

进入正题

搜索“ubuntu 升级到gcc4.7”

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt-get install gcc-4.6

sudo apt-get install g++-4.6

这个方法在我的电脑报错,找不到源。

之后我就下载了gmp,mpc,mpfr,g++4.7依次安装,但是在安装g++4.7的时候,报错目标文件后缀不识别。

一直没有安装成功,我有强迫症吧,上个周末没有搞好,这个周末继续琢磨。

折腾了一上午,之后sudo apt-get install gcc-4.6-base,提示已经安装。

运行g++ -std=c++0x 就可以支持部分C++11特性,发现g++还是4.4,应该就是g++4.6支持的部分C++11特性。

至此终于可以实验C++的特性了。


简单测试一下,g++4.6中

支持:

1、C++11不需要重复生成模板实例的升级

extern template class std::vector<MyClass>;

2、C++中的自动类型推断

auto i = 0;//i的类型自动推断0的类型:int

3、std::unordered_map等


不支持:

for循环的范围遍历

int my_array[5] = {1, 2, 3, 4, 5};
for (int &x : my_array)
{
  x *= 2;
}






你可能感兴趣的:(ubuntu)