转载请注明文章出处:https://juejin.im/post/5d0ef5376fb9a07ef63fe74e

CentOS 7官方源带的gcc最新版本是4.8.5,发布于2015年,年代久远且不支持c++14。要编译c++14及以上项目,必须要升级现有版本或者安装高版本的gcc。(yum -y install gcc-c++)

问题的解决办法主要有两种:手动编译安装(也可以从其他机器拷贝或者网上下载),或从源安装。大多数情况下本人都不推荐从源码编译,因为过程中常会出现各种依赖问题需要人工手动解决,费时(单核编译gcc至少一小时)且耗费精力,并且软件升级还要再来一次,相当的折腾。鉴于此下文介绍从源安装的方法。

红帽其实已经编译好了高版本的gcc,但未更新到base和epel这两个常用的源中,而是放在scl中。第一步便是安装scl:

yum install -y centos-release-scl
复制代码
如果你之前用过grouplist/install等命令,应该知道gcc包含在Development Tools这个组中。那么scl中的gcc/g++软件包的前缀都是devtoolset,也就不难理解了。安装gcc 6版本的命令是:

yum install -y devtoolset-6-gcc devtoolset-6-gcc-c++
复制代码
devtoolset-6中的gcc版本为gcc 6,除此之外还有如下版本:

devtoolset-3: gcc 4.9
devtoolset-4: gcc 5
devtoolset-6: gcc 6
devtoolset-7: gcc 7
devtoolset-8: gcc 8
至于为什么没有devtoolset-5,我也不清楚,估计是包含在devtoolset-4中了吧。值得说明的是这些软件包可以同时安装,不会相互覆盖和冲突,也不会覆盖系统的版本。即可以在系统中同时安装gcc 6, gcc 7, gcc 8等多个版本。

echo ‘source /opt/rh/devtoolset-8/enable’ >> ~/.bash_profile source /opt/rh/devtoolset-8/enable

source /opt/rh/devtoolset-8/enable

//注意,如果是vs2019 远程调试的话,需要执行以下命令

mv /usr/bin/gcc /usr/bin/gcc-4.8.5

ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g+±4.8.5

ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++

centos下升级g++版本相关推荐

  1. linux下升级g 版本,linux下升级gcc版本(gcc-7)

    ubuntu16.04的自带gcc版本为gcc-5,因为安装pl-slam的需要升级到gcc-7,可以通过以下命令查看你的gcc版本 gcc --version 通过apt工具对gcc进行升级 sud ...

  2. CentOS下升级python版本

    源码安装python 安装python源码所依赖的工具及依赖的库 yum install -y make gcc gcc-c++ yum install -y bzip2 bzip2-devel yu ...

  3. centos下升级jdk版本

    2019独角兽企业重金招聘Python工程师标准>>> 由于安装的centos系统,自带了jdk1.6和1.7的版本,介于在平时开发,用了1.8.为了保持开发环境的一致,故此需要升级 ...

  4. CentOS下升级openssh版本

    前言 CentOS 6.x 和 7.x 的断裂带来很多麻烦,习惯SysV下面的init.d脚本后,转systemd很不适应,之前还花了点时间学systemd,但是可能是年龄大了,老是记不住命令,以后还 ...

  5. Centos下升级git版本

    1.升级原因 在使用git pull.git push.git clone的时候,或者在使用jenkins发版的时候,可能会报类似如下的错误: error: The requested URL ret ...

  6. centos 7 升级 git 版本(通过安装 ius 源的方式)

    文章目录 查看系统相关信息 查看CentOS的版本号 查看内核版本 查看 git 版本 通过安装第三方 yum 源的方式来更新git 下载对应的 yum 源 安装 yum 源 删除掉已经存在的 git ...

  7. linux下怎么升级python版本,Linux下升级python版本

    转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的 ...

  8. linux下python版本升级,Linux下升级python版本(示例代码)

    转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的 ...

  9. linux下安装python3报错_Linux(Centos)——下升级python3.3

    CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的python版本是V2.4.3,但运行node.js需要的版本是2.5以上. 1.下载py ...

最新文章

  1. linux c++ 目录操作,C++文件及文件夹操作整理(代码示例)
  2. 找出数组中出现次数最多的一项并统计次数
  3. (chap1 网络基础知识)一些概念
  4. leetcode718 最长重复子数组
  5. android 模拟器声音设置,使用android模拟器录制声音
  6. 08Mysql与python交互
  7. mysql 忘记密码处理方式
  8. python 线性拟合 图_python线性拟合
  9. C#利用WCF改进文件流传输的三种方式
  10. 如何检查字符串是否以指定的字符串开头? [重复]
  11. java day38【Servlet 、HTTP协议 、Request】
  12. 网页设计中一些小功能
  13. java加载dll文件失败
  14. 美军军事通信系统简史
  15. 武汉大学计算机转专业2021,通知|关于做好2021年普通本科生转专业工作的通知...
  16. 【网络模拟】网络环境模拟搭建
  17. 《C Primer Plus》学习笔记—第9章
  18. 苹果手机充电口接触不良怎么办_手机充电插口松动!声音变小!手机死机!怎么办?...
  19. 一图了解群、交换群、环、交换环、整环、域的区别与联系
  20. (附源码)springboot校园管理系统 毕业设计021104

热门文章

  1. Java面试170题答案解析(1-20题)
  2. 前端请求进化之路--从form表单到JSONP
  3. PHPWeb开发入门体验学习笔记
  4. 在线批量压缩JPG图片-JpegMini
  5. 实数历史无穷小能否带领我们直接走向今日科学之辉煌?
  6. 应用层——使用 Socket 通信实现 FTP 客户端程序
  7. 64位操作系统上ArcGIS Server Manager页面不正常显示
  8. 灵活运用 SQL SERVER FOR XML PATH
  9. Hadoop3.0的新特性
  10. mysql binlog 统计_对MySQL binlog日志解析,统计每张表的DML次数