ubuntu下编译c++11的代码

目前最新版本的GCC/G++是4.8,新版本的GCC支持最新的C++11标准,十分值得去使用&学习。 下面让我们在Ubuntu12.04 LTS用上GCC最新版本,去体验C++11新标准带来的东西吧!

首先非源码编译式安装:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test  
sudo apt-get update  
sudo apt-get install gcc-4.8   
sudo apt-get install g++-4.8

等GCC/G++下载并安装完以后,测试是否安装成功:

gcc-4.8 -v  
g++-4.8 -v 

如果显示版本号表示安装成功:

安装成功后我们如果要使用gcc-4.8和g++-4.8来编译的话,我们就得把gcc改为gcc-4.8,g++同理,改为g++-4.8来进行编译。

此时使用gcc -v查看默认版本,为4.6版本:

如果你想直接使用gcc-4.8, 我们就可以更改一下gcc的软链接:

    sudo rm /usr/bin/gcc  
    sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc  
    sudo rm /usr/bin/g++  
    sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++  
现在我们用gcc -v来测试就能发现变为了4.8了!

既然GCC-4.8使用了最新的C++11标准,但是我们为什么还是提示错误呢?

这是因为GCC/G++默认的-std(即C++语言标准)不是C++11,在这里默认的是C++98,所以需要显式地开启,即添加-std=c++11选项:

解决方法如下:在编译的时候添加-std=c++11选项即可正常编译C++11标准的代码!




你可能感兴趣的:(ubuntu)