GCC4.7版本已经发布了,新版本的GCC支持最新的C++11标准,十分值得去使用&学习.如何让我们的Ubuntu12.04 LTS 用上GCC4.7呢?我们可以使用源码编译,但是一般来说用源码编译GCC都不能够成功...我也不知道为啥,反正按照Google搜索到的编译安装GCC的教程几乎无一可行...十分的纠结,看来还是用已经编译好的二进制文件吧.来吧,让我们一起去体验全新的C++11带来的东西吧!
首先非源码编译式安装:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.7 g++-4.7
等待吧,等他下载完成并且自动安装完毕.安装完毕后我们可以这样来测试安装GCC-4.7&G++-4.7是否成功:
//方法一 gcc-4.7 -v g++-4.7 -v //方法二 ls /usr/bin/gcc* -l ls /usr/bin/g++* -l
如果按照方法一来检测,只要出现:
"gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-4precise1)"即为安装成功!
如果按照方法二来检测,只要出现:
"/usr/bin/gcc-4.7"&"/usr/bin/g++-4.7"即为安装成功!
安装成功后我们如果要使用gcc-4.7&g++-4.7来编译的话,我们就得把gcc改为gcc-4.7,g++同理,改为g++-4.7来进行编译.
如果你想直接使用gcc-4.7而不改变编译时gcc改为gcc-4.7的话,我们就可以更改一下gcc的软链接:
sudo rm /usr/bin/gcc sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc sudo rm /usr/bin/g++ sudo ln -s /usr/bin/g++-4.7 /usr/bin/g++
现在我们用gcc -v来测试就能发现变为了4.7了!
既然GCC-4.7使用了最新的C++11标准,但是我们为什么还是提示错误呢?解决方法如下:
在编译的时候添加"-std=c++11"不带引号即可正常编译C++11标准的代码!