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

手把手教你升级gcc到gcc11相关推荐

  1. 脚本升级_手把手教你升级到Database 19c(3)| 终章教程

    点击▲关注 "ITPUB"   给公众号标星置顶 更多精彩 第一时间直达  前文回顾: 手把手教你升级到 Oracle  19c(1)| 教程来了手把手教你升级到 Oracle 1 ...

  2. bios升级工具_小白修电脑系列第十二期--手把手教你升级主板BIOS

    很多人一听到bios这个词,就会想到一些高大上的操作技能.其实bios的设置和升级现在一点都不难. 今天介绍下怎么升级主板的bios.以我手头的一块梅捷A10狂龙四核主板为例. 首先 一定要确定你主板 ...

  3. 联想拯救者y7000p加内存条_内存、硬盘不够用?手把手教你升级联想拯救者 Y7000P...

    由于这两年内存价格的高企,主流笔记本的内存容量被锁定在 8GB 已经有了相当长的时间.作为近几个月最热门的游戏本产品,联想拯救者 Y7000P 除顶配之外同样使用的是 8GB 内存和 512GB 固态 ...

  4. 手把手教你升级Keil MDK的ARM编译器

    关注.星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 今天在我的技术交流群里,有朋友问了这么一个问题:怎么才能用更高的编译器呀? 这位朋友 ...

  5. 手把手教你升级到 Mysql 5.5

    赖勇浩(http://laiyonghao.com) 本文基本上是这篇(http://www.ovaistariq.net/490/a-step-by-step-guide-to-upgrading- ...

  6. 联想y7000p怎么连接显示器_内存、硬盘不够用?手把手教你升级联想拯救者Y7000P...

    由于这两年内存价格的高企,主流笔记本的内存容量被锁定在8GB已经有了相当长的时间.作为近几个月最热门的游戏本产品,联想拯救者Y7000P除顶配之外同样使用的是8GB内存和512GB固态硬盘的配置.所以 ...

  7. 保姆级教程:手把手教你升级 Windows 11 系统

    目录

  8. ios虚拟服务器降级,升级了iOS 12很后悔,没关系手把手教你如何降级!

    原标题:升级了iOS 12很后悔,没关系手把手教你如何降级! 自从iOS 12正式版发布以来,关于使用iOS 12版本手机系统的讨论就异常激烈.很多的粉丝都一直在公众号给我留言吐槽使用iOS 12当中 ...

  9. Linux升级gcc到最新版本gcc-11.2.0

    Linux升级gcc到最新版本gcc-11.2.0 当前环境 更新方法 1. 下载最新的源码包并解压缩 2.下载依赖及配置文件 3. 配置 4. 编译 5. 安装 6. 验证gcc版本 7. 删除旧版 ...

最新文章

  1. 补第四周作业总结——8 puzzle
  2. jvm:运行时数据区--操作数栈
  3. 计算机pc软盘不能数字,老人把遗嘱存5寸软盘难坏家人 老电脑终未读出
  4. Ribbon 客户端负载均衡
  5. sum和total的区别
  6. PHP 通过设置P3P头来实现跨域访问COOKIE
  7. Oracle SQL语句执行步骤
  8. 补习系列(7)-springboot 实现拦截的五种姿势
  9. pytorch: where、gather函数
  10. 我如何判断漏洞奖励计划是否值得参加?如何获得最大收益?
  11. Android DataBinding 从入门到进阶
  12. android学习笔记25——事件处理Handler
  13. Redisson 配置
  14. Excel 快速填充空白
  15. 八,分隔符,其他符号和数据的讲解
  16. Ubuntu12.10 GT650M 混合显卡/双显卡驱动安装
  17. 【土旦】在vue filters中 优雅的使用对象的key、value来替换 if switch多重判断简化流程...
  18. jenkins pipeline php,Jenkins + Pipeline 构建自动化发布
  19. CSS 2D 转换 transform translate() rotate() scale() skew() matrix()
  20. 小程序引入字体集方式

热门文章

  1. 优漫动游UI设计适合什么样的人学习?
  2. SQL(三)|多表查询之查询3个表
  3. 搜狗回应“统计加班时长裁员”:工作时长符合国家规定
  4. 买前生产力,买后爱奇艺?【ipad】
  5. 干货丨漫画机器人训练测试平台
  6. Qt模块头文件出现下划线问题
  7. Python和PHP初学者先学哪个好?
  8. threejs(一):初步认识与使用
  9. NFT 为何能够重塑艺术价值?
  10. 【Vue原理】Vue源码阅读总结大会