原文参考: https://blog.csdn.net/zywhehe/article/details/131234415
前言:从系统自带的 gcc-4.8.5 版本升级至 gcc-8.3.0 版本
下载源代码: gcc-8.3.0
其他版本下载:https://ftp.gnu.org/gnu/gcc
tar -zxvf gcc-8.3.0.tar.gz
mv gcc-8.3.0 /usr/local/gcc-8.3.0
gcc对应版本相关的依赖包可以通过:cat contrib/download_prerequisites
查看
下载上图中gcc-8.3.0依赖,这四个都要下载下来:
#如果不是这个版本的依赖就直接截取前面的网站https://ftp.gnu.org/pub/gnu/gmp中去找,剩余三个依赖同理
https://ftp.gnu.org/pub/gnu/gmp/gmp-6.1.0.tar.bz2
https://ftp.gnu.org/pub/gnu/mpfr/mpfr-3.1.4.tar.bz2
https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
注意:依赖有三个是bz2
压缩格式。如果linux中没有下载bz2格式解压缩工具需要安装一下bzip2
工具。你可以通过以下命令检查 bzip2 是否已正确安装:bzip2 --version
。没有的话根据linux版本百度一下如何安装。Red Hat/CentOS 系列:sudo yum install bzip2
或者在windows下载完成之后用windows自带的解压缩工具进行解压(我这边用的是好压),解压一下在手动压缩成rar或者zip格式上传到服务器。 然后就可以在服务器端使用unzip或者tar进行解压文件了,绕开了在服务器解压bz2格式。
处理后上传并解压:
unzip gmp-6.1.0.zip
unzip isl-0.18.zip
tar -zxvf mpc-1.0.3.tar.gz
unzip mpfr-3.1.4.zip
把依赖库源代码放入gcc编译目录:
mv gmp-6.1.0 /usr/local/gcc-8.3.0/gmp
mv isl-0.18 /usr/local/gcc-8.3.0/isl
mv mpc-1.0.3 /usr/local/gcc-8.3.0/mpc
mv mpfr-3.1.4 /usr/local/gcc-8.3.0/mpfr
编译和安装:
#编译(gcc比较耗时,编译约一个小时)
cd /usr/local/gcc-8.3.0
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make -j4
make install
#确认是否安装成功
exit
gcc --version