其实当我们在一些低版本的Linux系统,库里是没有高版本的gcc,因此这个时候需要我们使用源码进行编译安装gcc,在这里根据前人博客进行一个总结,
1.下载gcc和依赖
wget -P /data/base https://mirrors.aliyun.com/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz
cd /data/base && tar -xzvf gcc-10.2.0.tar.gz
cd /data/base/gcc-10.2.0
如果当前服务器无法联网,就在其它电脑上进行下载,然后上传上去。
2.安装依赖
./contrib/download_prerequisites
如果有网,可以直接执行这个,但是如果连接不上或者下载失败,就在其它电脑上下载之后上传到gcc-10.2.0文件夹下,需要下载的文件如下:
下载地址:Index of /sites/sourceware.org/pub/gcc/infrastructure
将这四个包放在gcc文件夹下后,再执行./contrib/download_prerequisites
3. 编译并安装
mkdir /usr/lib/gcc/x86_64-redhat-linux/10.2.0
mkdir /data/base/gcc-build-10.2.0
cd /data/base/gcc-build-10.2.0
../gcc-10.2.0/configure --prefix=/usr/lib/gcc/x86_64-redhat-linux/10.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4 && make install
编译并安装好之后好之后返回如下:注意,这里不是报错(虽然看着像是错误)
Libraries have been installed in:
/usr/lib/gcc/x86_64-redhat-linux/10.2.0/lib/../lib64
4.初始化gcc配置
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
mv /usr/bin/g++ /usr/bin/g++-4.8.5
alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8.5 88 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8.5
alternatives --install /usr/bin/gcc gcc /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-gcc 99 --slave /usr/bin/g++ g++ /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-g++
5.自如切换gcc版本
alternatives --config gcc
配置gcc返回如下
参考链接:
https://blog.csdn.net/shangjg03/article/details/132143988