linux下gcc更新,Linux系统下源码编译升级gcc(6.5.0&11.1.0)

d53f456e5144a8b48f13bb2460b95e6e.png

一、前言

本文介绍在CentOS7系统下使用源码软件包编译升级GCC版本的相关操作步骤。

CentOS7默认安装的gcc版本是4.8,gcc 4.8最主要的一个特性就是全面支持C++11,如果不清楚什么用的也没关系,简单说一些C++11标准的程序都需要gcc 4.8以上版本的gcc编译器编译。很多工具依赖的是更高版本的gcc,比如编译MySQL 8.0(8.0.16以上版本是C++14标准,需gcc 5.3以上版本)、Redis 6.0.x、GRPC等。

手动编译升级gcc往往耗时长,而且不一定能成功,CentOS系统下可使用一个第三方库SCL(软件选集)的 devtoolset 快速切换gcc版本。但目前第三方库SCL的devtoolset-6版本已经结束支持,只能通过源码编译安装升级gcc 6.x。且第三方库SCL中目前(2021年5月)还没有gcc 10.x以上版本的YUM源,若要升级为10.x以上的版本也需要通过源码编译安装。

官网:https://gcc.gnu.org/

源码包下载:

http://ftp.gnu.org/gnu/gcc

二、查看系统gcc版本

gcc -v

dd92bcc50bc762a2cc508e96a8dbfe32.png

三、升级到6.5.0版本

## 下载解压

cd /data/tools

wget http://ftp.gnu.org/gnu/gcc/gcc-6.5.0/gcc-6.5.0.tar.gz

tar xf gcc-6.5.0.tar.gz

## 下载依赖文件

cd gcc-6.5.0/

./contrib/download_prerequisites

## 新建gcc-bulid-6.5.0目录(与gcc-6.5.0同级)并进入该目录中(目录名自定义)

mkdir -p /data/tools/gcc-bulid-6.5.0

cd /data/tools/gcc-bulid-6.5.0

## 生成makefile文件

../gcc-6.5.0/configure--enable-checking=release --enable-languages=c,c++ --disable-multilib

## 编译安装(注:编译时间较长,请耐心等待)

make -j 2

//make -j 指定的是CPU内核数量,加快编译速度(根据实际情况修改)

make install

## 查看gcc版本,验证升级是否成功

gcc -v

c806e75f000ee0caa493d90fe70ca0f2.png

四、升级到11.1.0版本

## 下载解压

cd /data/tools

wget http://ftp.gnu.org/gnu/gcc/gcc-11.1.0/gcc-11.1.0.tar.gz

tar xf gcc-11.1.0.tar.gz

## 下载依赖文件

cd gcc-11.1.0/

./contrib/download_prerequisites

## 新建gcc-bulid-11.1.0目录(与gcc-11.1.0同级)并进入该目录中(目录名自定义)

mkdir -p /data/tools/gcc-bulid-11.1.0

cd /data/tools/gcc-bulid-11.1.0

## 生成makefile文件

../gcc-11.1.0/configure--enable-checking=release --enable-languages=c,c++ --disable-multilib

## 编译安装(注:编译时间较长,请耐心等待)

make -j 2

//make -j 指定的是CPU内核数量,加快编译速度(根据实际情况修改)

make install

## 查看gcc版本,验证升级是否成功

gcc -v

16ee33ef1f055057bb784cc4068722b0.png

【编辑推荐】

【责任编辑:姜华 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值