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 国际许可协议进行许可。