CentOS升级GCC


阿里云主机的自带gcc版本都比较低,在编译一些稍微比较比较新的库时,会报出如下错误:

无法识别的命令行选项“-std=c++11

查找之后得知需要升级gcc至4.8版本以上,遂决定手动升级gcc。 查看当前版本:

[root@iZuf6h7yd9haonvv70i74oZ ~]# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
Copyright © 2010 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[root@iZuf6h7yd9haonvv70i74oZ ~]#

下载gcc

镜像下载地址:gcc.skazkaforyou.com 或者 gcc官网 我选择了5.2版本的下载:

wget http://gcc.skazkaforyou.com/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2

下载文件大小在100M左右,如果遇到下载慢的,可以尝试更换其他下载镜像地址。

解压文件

tar -xf gcc-5.2.0.tar.bz2

下载gcc所依赖的文件和库

cd gcc-5.2.0
./contrib/download_prerequisites

编译安装GCC

mkdir build_temp
cd build_temp
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make

等待大概一个小时以后,make完成,执行安装命令。

make install

查看安装的gcc,默认安装目录在usr/local/bin

[root@iZuf6h7yd9haonvv70i74oZ build_temp]# ls /usr/local/bin | grep gcc
gcc
gcc-ar
gcc-nm
gcc-ranlib
i686-pc-linux-gnu-gcc
i686-pc-linux-gnu-gcc-5.2.0
i686-pc-linux-gnu-gcc-ar
i686-pc-linux-gnu-gcc-nm
i686-pc-linux-gnu-gcc-ranlib

执行升级命令

/usr/sbin/update-alternatives --install  /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc-5.2.0 52

/usr/sbin/update-alternatives --install  /usr/bin/g++ g++ /usr/local/bin/g++ 52

检查gcc版本

重新连接上服务器,打开终端,执行如下命令:

[root@iZuf6h7yd9haonvv70i74oZ ~]# gcc --version
gcc (GCC) 5.2.0
Copyright © 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

[root@iZuf6h7yd9haonvv70i74oZ ~]# g++ --version
g++ (GCC) 5.2.0
Copyright © 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[root@iZuf6h7yd9haonvv70i74oZ ~]#


本作品由TedXiong采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

Copyright © tedxiong.com 2017 all right reserved,powered by Gitbook该文章修改时间: 2018-04-03 15:22:06

results matching ""

    No results matching ""