手把手教你升级gcc到gcc10

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

下载 gcc源码

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

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

安装依赖库

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

git checkout releases/gcc-10.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 --enable-multilib  # 生成Makefile文件

编译

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

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

安装

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

sudo make install  

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

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

  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即可。

猜你喜欢

转载自blog.csdn.net/lianshaohua/article/details/112599062