安装gcc

由于 Linux 操作系统的自由、开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,大多数都默认装有 GCC 编译器(版本通常都较低)。

1、查看是否含有gcc及gcc版本

可以看到,系统中包含了gcc且版本为4.8.5,如果没有gcc,可以通过下面命令来进行安装

2、快速安装gcc

yum -y install gcc
yum -y install gcc-c++

通过如上命令得到的gcc通常版本较低。

3、升级gcc

升级gcc需要在系统中包含一个低版本的gcc

准备升级环境

1、下载gcc源码包

https://mirrors.aliyun.com/gnu/gcc/

2、解压并切换到解压后的目录(作者将他放在了/usr/local目录下)

tar -zxvf gcc-10.2.0.tar.gz
cd gcc-10.2.0/

3、下载编译依赖项

./contrib/download_prerequisites

执行完毕后,可以发现gcc-10.2.0的目录中多了gmp、isl、mpc、mpfr,如果没有这些依赖包,则不能进行下面的操作。

4、新建gcc-bulid目录(与gcc-10.2.0同级)并进入该目录中。

mkdir gcc-build
cd gcc-build/

5、生成Makefile文件

../gcc-10.2.0/configure -prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib

这时候会出现报错:

checking for the correct version of gmp.h... no configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.

解决办法

yum -y install  gmp  gmp-devel  mpfr  mpfr-devel  libmpc  libmpc-devel

这时候在运行命令就成功了

../gcc-10.2.0/configure -prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib

6、开始编译

make

注意:编译时间较长,请选择适当的时间进行此操作。

7、安装

make install

8、重启

9、验证

centos 7升级gcc到10.2.0的更多相关文章

  1. centos 6升级 GCC 到4.8

    centos 6升级 GCC 到4.8   安装最新版本的swoole 提示 pecl install swolle ... GCC 4.8 or later required. 首先想到的时候yum ...

  2. CentOS 6.9升级GCC至7.3.0版本

    1.查看当前centos版本:  cat /etc/redhat-release 2. 安装centos6.9默认的开发工具,包含gcc,g++,make等等一系列工具: yum groupinsta ...

  3. Centos6.8 安装dlib库时出错【升级gcc 到4.9.0以上】

    在centos6.8上安装dlib库时出现错误: 1.CMake must be installed to build the following extensions: dlib 没有安装CMake ...

  4. CentOS 7 升级gcc/g++编译器

    gcc的升级必须要使用源码进行升级,也就说,必须要使用源码进行编译才行.我的7.2的CentOS目前自带的gcc是4.8.5的,gcc从4.8之后开始支持C++11,但是鉴于现在C++14.C++17 ...

  5. CentOS 7升级gcc版本

    Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至8.3.1版本为例,分别执行下面三条命令即可,无需手动下载源码编译 1.安装centos-release-scl sudo yu ...

  6. CentOS上升级gcc编译器使支持C++11

    首先向博主致敬,好的东西拿来共享了,用一下不错. https://blog.csdn.net/clirus/article/details/62424517 0. 目标  最近在学习c++11,我本机 ...

  7. CentOS yum升级GCC到4.8

    wget http://people.centos.org/tru/devtools-2/devtools-2.repo .repo /etc/yum.repos.d --binutils devto ...

  8. CentOS下升级python2.7.10过程记录

    1.准备好一份Python2.7.10源码包,下载地址: http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz 2.安装Python2.7 ...

  9. Centos 7.6 安装 oracle 10.2.0.1 数据库软件

    step 1: 编辑 /etc/redhat-release :内容为redhat-4 step 2: 安装32位的软件包:yum install libXp.i686  libXt.i686  li ...

随机推荐

  1. taro table component

    taro table component https://juejin.im/post/5d901696f265da5b926bbcaa https://taro-ext.jd.com/search? ...

  2. NGK治理机制研究

    治理机制是区块链项目的重要设计.随着项目的运行,生态中的参与者需要根据实际运行情况对项目进行必要的更新和升级,以使项目持续良性发展.治理机制的作用是使不同参与者最终达成共识.治理机制直接决定这个网络生 ...

  3. spring框架aop用注解形式注入Aspect切面无效的问题解决

    由于到最后我的项目还是有个邪门的错没解决,所以先把文章大概内容告知: 1.spring框架aop注解扫描默认是关闭的,得手动开启. 2.关于Con't call commit when autocom ...

  4. 记录PyQt5 学习中遇到的一些问题

    1   信号与槽的设置中,槽函数不用写括号: btn.clicked.connect(cao()) def cao(): ******** 会报错:argument 1 has unexpected ...

  5. CSS布局,div居中,文字居中

    .main { width: 100%; margin: 0 auto; .banner { img { width: 100%; } } .article { margin-bottom: 100p ...

  6. 处理ios键盘弹出按钮点击click失效

    用ontouchstart绑定事件即可,然后用 document.activeElement.blur();让键盘收起 this.value = value.replace(/\s/g, " ...

  7. 关于 HTTP 后端人员需要了解的 20+ 图片!

    前言 当您网上冲浪时,HTTP 协议无处不在.当您浏览网页.获取一张图片.一段视频时,HTTP 协议就正在发生. 本篇将尽可能用简短的例子和必要的说明来让您了解基础的 HTTP 知识. 目录: 什么是 ...

  8. Service Cloud 零基础(五)Trailhead学习 Embedded Chat

    本篇参考:https://trailhead.salesforce.com/content/learn/modules/web-chat 想一下我们为什么要用service cloud呢?为什么要有s ...

  9. Codeforces (ccpc-wannafly camp day2) L. Por Costel and the Semipalindromes

    题目链接:http://codeforces.com/gym/100923/problem/L 分析:题目要求序列首尾相同,在此基础上的字典序第k个:因为只存在a,b所以我们把它等效成0和1的话,字典 ...

  10. C#中委托、匿名函数、Lambda表达式的一些个人理解

    0x01定义一个委托,相当于定义一个可以存储方法的特殊变量类型 下面我们看具体的代码,通过代码更好理解 delegate void IntMethodInvoker(int x); 这行代码就是声明一 ...