一、前言本文介绍在CentOS7系统下使用源码软件包编译升级GCC版本的相关操作步骤。CentOS7默认安装的gcc版本是4.8。gcc4.8最重要的特性是全面支持C++11。如果您不知道该使用什么也没关系。简单的说,一些C++11标准程序需要gcc4.8或以上的gcc编译器编译。很多工具依赖更高版本的gcc,比如编译MySQL8.0(8.0.16及以上版本为C++14标准,需要gcc5.3及以上版本)、Redis6.0.x、GRPC等。手动编译和升级gcc通常需要很长时间,而且可能不会成功。在CentOS系统下,可以使用第三方库SCL(软件合集)的devtoolset快速切换gcc版本。不过目前第三方库SCL的devtoolset-6版本已经结束支持,只能通过源码编译安装的方式升级gcc6.x。而且目前(2021年5月)的第三方库SCL没有gcc10.x以上版本的YUM源。如果要升级到10.x以上的版本,需要通过源码编译安装。官网:https://gcc.gnu.org/源码包下载:http://ftp.gnu.org/gnu/gcc2.查看系统gcc版本gcc-v3.升级到6.5.0版本##下载并解压cd/data/toolswgethttp://ftp.gnu.org/gnu/gcc/gcc-6.5.0/gcc-6.5.0.tar.gztarxfgcc-6.5.0.tar.gz##下载依赖文件cdgcc-6.5。0/./contrib/download_prerequisites##新建gcc-bulid-6.5.0目录(与gcc-6.5.0同级),进入该目录(自定义目录名)mkdir-p/data/tools/gcc-bulid-6.5.0cd/data/tools/gcc-bulid-6.5.0##生成makefile../gcc-6.5.0/configure--enable-checking=release--enable-languages=c,c++--disable-multilib##编译安装(注:编译时间较长,请耐心等待)make-j2//make-j指定CPU核数,加快编译速度(根据实际情况修改)makeinstall##勾选gcc版本并验证是否升级成功gcc-v4.升级到11.1.0版本##下载并解压cd/data/toolswgethttp://ftp.gnu.org/gnu/gcc/gcc-11.1.0/gcc-11.1.0.tar。gztarxfgcc-11.1.0.tar.gz##下载依赖文件cdgcc-11.1.0/./contrib/download_prerequisites##新建gcc-bulid-11.1.0目录(与gcc-11.1.0同级),进入这个目录中(目录名自定义)mkdir-p/data/tools/gcc-bulid-11.1.0cd/data/tools/gcc-bulid-11.1.0##generatemakefile../gcc-11.1.0/configure--enable-checking=release--enable-languages=c,c++--disable-multilib##编译安装(注意:编译时间较长,请耐心等待)make-j2//make-j指定CPU核数,加快编译速度(根据实际情况修改)makeinstall##查看gcc版本,验证是否升级成功gcc-v
