最近的工作中需要用到高版本的gcc,系统自带的是5.4.0版本的,这里需要安装的高版本的是7.5.0的,安装过程也是比较坎坷的,也是因为没有搞过这个东西,不熟悉,所以踩了很多坑,耽误了很多时间,不过实践也是学习的一部分,这里还是成功解决掉了这个问题了,下面就不多说废话了,直接进入正题了。
原始版本截图如下所示:
升级后版本截图如下所示:
所需依赖资源包详情如下:
升级本地gcc版本所需安装包详情如下:
gcc-7.5.0.tar.gz
gmp-6.1.0.tar.bz2
mpc-1.0.3.tar.gz
mpfr-3.1.4.tar.bz2
isl-0.16.1.tar.bz2
具体操作命令如下:
具体安装命令如下:
#将所有安装包上传到Linux环境下,解压缩处理
tar -xvf gcc-7.5.0.tar.gz
cd gcc-7.5.0
#下面这一步大部分国内用户都会失败,由于网络等问题,所需的资源包下载不了,下面的命令本质上来说做的操作就是下载所需的四个资源环境包,分别为:gmp-6.1.0.tar.bz2、mpc-1.0.3.tar.gz、mpfr-3.1.4.tar.bz2、isl-0.16.1.tar.bz2。这里我采用手动下载的方式,提前下载好所需资源包,之后上传到该目录下即可。
./contrib/download_prerequisites
cd ..
#建立编译输出目录
mkdir gcc-build-7.5.0
#进入下面目录,执行命令,生成Makefile文件
cd gcc-build-7.5.0
#configure的最后一个参数是关闭32位库,只编译64位库,我的电脑是64位的。如果想要同时编译32位和64位,可以使用-enable-multilib
../gcc-7.5.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#执行命令进行编译,此处利用4个job,需编译时约40分钟,此值不宜设置过高
make -j4
#安装
make install
#成功执行完成之后,可以查看gcc和g++的版本
gcc -v
g++ -v
#如果想要在不同版本的gcc之间进行切换,可以使用下面的命令
sudo update-alternatives --config gcc
安装过程中有一步大部分国内用户都会失败,由于网络等问题,所需的资源包下载不了,下面的命令本质上来说做的操作就是下载所需的四个资源环境包,分别为:gmp-6.1.0.tar.bz2、mpc-1.0.3.tar.gz、mpfr-3.1.4.tar.bz2、isl-0.16.1.tar.bz2。这里我采用手动下载的方式,提前下载好所需资源包,之后上传到该目录下即可。
这里我已经将整个安装过程中所用的导资源包都打包上传到这里了,需要的话可以直接下载使用,亲测可行。