手把手教你升级gcc到gcc11

35 篇文章 1 订阅

gcc11已经支持了绝大部分的C++20的特性,跟着我一起升级gcc到11.x版本,然后尝试学习和使用C++20标准吧,关于C++20标准的特性,请参见:C++20标准

下载 gcc源码

git clone https://github.com/gcc-mirror/gcc.git

为了解决下载速度的问题,我把源码及依赖库都上传到了CSDN的资源(下载后解压,可直接编译):
点此从CSDN下载第一部分
点此从CSDN下载第二部分
点此从CSDN下载第三部分

安装依赖库

待源码下载完成后,进入gcc目录,并切换到11.2.0分支:

git checkout releases/gcc-11.2.0

然后下载相关的依赖库:

./contrib/download_prerequisites

此命令会自动把gcc需要的这几个依赖库下载完成

接下来安装与gcc相关的文件

sudo yum install libgcc.i686 glibc-devel.i686 -y

如何没有找到libgcc.i686、glibc-devel.i686,请更新centos的源为国内的源再下载

配置

/configure -prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --enable-multilib

编译

make -j8  #根据cpu的核数指定-j后面并行编译的个数  

PS:我在自己40核的电脑上,安装了一个linux虚拟机,分配了16核CPU、8GB内存,大概编译了:59分钟的时间…
在这里插入图片描述

安装

经过漫漫漫漫长的等待,终于make完成了,然后执行:

sudo make install  

安装完成的最后信息截图如下:
在这里插入图片描述

创建软链接

sudo ln -s /usr/local/bin/gcc /usr/bin/gcc-11
sudo ln -s /usr/local/bin/g++ /usr/bin/g++-11

可能遇到的问题及解决办法

  1. 未安装flex
    下载flex-2.6.4
    或选择适合自己的版本:flex release 包
    解压后,安装
    ./autogen.sh  &&  ./configure --prefix=/usr && make && sudo make install
    
  2. makeinfo is missing …
    安装texinfo即可,centos系统需要先执行:
sudo yum config-manager --set-enabled PowerTools

启用powertools后,才可以使用 sudo yum install texinfo安装

然后重新编译gcc即可。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ztenv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值