前置需要

系统:centos 7 x86_64
gcc版本:gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
make版本:GNU Make 4.3

安装gcc高版本需要gcc低版本进行编译,未安装gcc需要用yum、apt来安装。

yum install -y glibc-static libstdc++-static
yum install -y gcc gcc-c++

其中,第一行指令用于安装编译 C 和 C++ 代码所需的静态链接库;第二行指令用于安装编译 C 和 C++ 代码的 gcc 和 g++ 指令。

推荐无论是否安装gcc和g++都建议安装静态库

依赖库

yum -y install bzip2 #已安装可以跳过这一步
# 中标麒麟系统需要以下依赖
# yum -y install gmp mpfr mpc isl bzip2

更新步骤

下载源码包并解压缩

gcc-11.2.0.tar.gz

可在该地址寻找自己需要的版本http://ftp.gnu.org/gnu/gcc/

wget http://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
# 腾讯软件源 https://mirrors.cloud.tencent.com/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
tar -zxvf gcc-11.2.0.tar.gz

下载依赖包

cd gcc-11.2.0
./contrib/download_prerequisites

注意,一定观察此命令的执行结果,保证其确实是将 gmp、mpfr、mpc 等依赖包成功下载下来,才能继续执行下面的安装步骤。

建立编译文件夹

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

#–enable-languages表示你要让你的gcc支持那些语言,
#–disable-multilib不生成编译为其他平台可执行代码的交叉编译器。
#–disable-checking生成的编译器在编译过程中不做额外检查,
#也可以使用*–enable-checking=xxx*来增加一些检查

有关 configure 后跟的各个参数的含义,仅需要了解 –enable-languages 用于设定 GCC 编译器支持编译的编程语言的类别,例如 c、c++、java、objc、obj-c++、go 等。

编译

make
#这一步需要时间非常久 可以使用 make -j 4 让make最多运行四个编译命令同时运行,加快编译速度。Linux输入nproc返回数字即为机器的线程

注意,编译过程是非常耗时的,因此如果选用此方式安装 GCC,则在执行 make 命令时一定要安排合适的时间。

安装

make install
reboot
#安装后重启,未重启用gcc -v查看还为低等级版本

验证

gcc -v