CentOS 7升级GCC

正文开始@Assassin

目录:

  • CentOS 7升级GCC
    • 基本执行步骤:
      • 1. 切换用户:
      • 2. 安装centos-release-scl:
      • 3. 安装devtoolset:
      • 4. 激活对应的devtoolset:
      • 5. 查看gcc版本号:
      • 6. 一些issue:

我们在centos下默认的gcc版本是gcc4.8.5,版本比较低,默认是支持编译c++98的,若在C++程序中直接使用到c++11的特性,则会报错。
解决方案: 在编译时加上-std=c++11即可,如g++ test.cpp -o run -std=c++11

在bash下直接下载 :

yum install -y gcc gcc-c++


查看一下版本号:

gcc --version
g++ --version

基本执行步骤:

1. 切换用户:

输入以下命令行切换到root用户,此时需要输入你对应的root密码

su - root

如下图所示:

2. 安装centos-release-scl:

sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm

sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-2-3.el7.centos.noarch.rpm

3. 安装devtoolset:

这里需要注意一下,如果想安装7.版本的,就改成devtoolset-7-gcc,以此类推

sudo yum install devtoolset-9-gcc-c++

4. 激活对应的devtoolset:

按理来说你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

scl enable devtoolset-9 bash

此条命令行也同样适用

source /opt/rh/devtoolset-9/enable

5. 查看gcc版本号:

gcc --version

g++ --version

6. 一些issue:

注意:这条scl enable devtoolset-9 bash激活命令只对本次会话有效,重启会话或者切换用户后还是会变回原来的4.8.5版本,因为安装的devtoolset是在/opt/rh目录下的,如图所示:

每个版本的目录下面都有个enable文件:

如果需要启用某个版本,只需要执行命令行:

source ./enable

所以要想切换到某个版本,只需要执行:

source /opt/rh/devtoolset-*/enable

可以将对应版本的切换命令写个shell脚本放在配置了环境变量的目录下,需要时随时切换,或者开机自启。但是经过我自己的实践,不推荐上述方法。


最直截了当的方法是直接替换旧版本的gcc

旧版本gcc运行的在/usr/bin/gcc,所以将该目录下的gcc/g++替换为安装的新版本gcc软连接,省去了每次都要enable,简洁明了

依次执行以下命令:

mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-9/root/bin/gcc /usr/bin/gcc

现在就算是永久性地启动指定版本的gcc,这种方式适用于长期使用该版本进行编译,切换bash依然有效

切换到Assassin用户查看一下:

[root@Ninghai ~]# su - Assassin
Last login: Fri Nov 26 22:20:43 CST 2021 from 182.118.236.53 on pts/1
[Assassin@Ninghai ~]$ g++ --version
g++ (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


到这里就ok了~~

【Linux基础】CentOS 7环境下安装高版本GCC (gcc/g++ 9.3)相关推荐

  1. nginx安装包 linux,Linux(CentOS)环境下安装下载Nginx并配置

    1.准备工作 选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL. Nginx是C写的,需要用GCC编译:Ngin ...

  2. linux centos7 mysql_Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  3. centOS 6环境下安装R-3.3.2及Rstudio-server

    [编译R语言] 1.下载安装R语言 # 下载R-3.3.2 $ wget https://cran.r-project.org/src/base/R-3/R-3.3.2.tar.gz# 安装R-3.3 ...

  4. linux(ubuntu)环境下安装及配置JDK

    安装完IDEA之后遇到了问题,发现jdk安装完之后配置环境变量好困难,下面总结一下我的安装及配置方式: JDK下载链接:http://download.oracle.com/otn-pub/java/ ...

  5. tensorflow运行环境linux,在ubuntu或者min运行环境下安装gpu版本的tensorflow

    转载请注明出处:blog.csdn.net/sproll 本文描述在ubuntu系列操作系统上安装gpu版本的tensorflow的过程. 0,准备工作 BIOS中关闭板载显卡,显示器接在nvidia ...

  6. 在linux+nginx+mysql+php环境下安装 phpmyadmin

    环境 1, CentOS 7 2, nginx1.12.2 (Linux 利用yum源安装nginx) 3, php7.0 (Linux 利用yum源安装php7.0+nginx) 4, mysql5 ...

  7. Win10环境下安装压缩包版本MySQL-8.0.13

    准备工作 系统环境:Windows 10 1803版本: 压缩包:MySQL-8.0.13 Windows zip包下载: 安装过程 1. 加载安装包到你的安装目录 将下载的MySQL压缩包解压并移到 ...

  8. linux git编译安装目录,Linux(centos) 环境下如何源码编译安装git

    21运维原创,转载请注明出处. 最近线上要使用git进行代码发布和版本管理了,之前搞过,一直没有做记录.从今儿起开始记录这块. linux上(当前文章使用的是centos,ubuntu采用apt-ge ...

  9. centos m4安装linux,Centos Docker环境下安装Dcm4che归档服务

    本文实现了搭建一个最小的基于Dcm4che+Docker的归档服务,能够实现影像DICOM的归档,调阅,转发功能,其搭建参考于GitHub 开源项目说明:dcm4che/dcm4chee-arc-li ...

最新文章

  1. 慕课的原型图快速变html,分享一个html转换为pdf 利器 Pechkin
  2. 用Leangoo泳道完美实现Scrum任务看板
  3. java网格式布局登录界面_Java学习笔记------自己书写的登录界面实例
  4. GIS-013-Cesium Terrain 数据生成
  5. left join 索引失效无条件_从零开始学数据分析-mysql索引优化方案
  6. $.extend(true,{},a,b)解析
  7. java 队列的使用
  8. jQuery实现影院选座订座效果
  9. 【SpringMVC笔记】拦截器 + 文件上传下载
  10. 四、时间 .认知 .迭代
  11. php自学好还是培训,转行php选择自学还是培训
  12. 身份证验证Java代码
  13. 电阻器颜色代码在线计算机,色环电阻计算器
  14. 一键清空朋友圈软件_一键清空朋友圈软件有哪些(推荐几个好用软件)
  15. 更新来袭!新增语音添加待办、邮箱通知等功能
  16. 【WAX云钱包】Cloudflare反爬虫突破(SSL指纹识别)
  17. 【小程序】384- 如何一人五天开发完复杂小程序(前端必看)
  18. 英语歌曲:Can't Stop Love
  19. Crosswalk 集成到 Android Studio
  20. 交互技术前沿学习分享-翻译

热门文章

  1. 滴滴公众评议会第十一期:司机也可以评价乘客 你支持吗?
  2. 工资低是浪费生命?俞敏洪:当你工资比同学少一半 生命已经浪费一半
  3. LG G8X官方图流出:LG双屏手机也意外曝光 或IFA发布
  4. 这家简历大数据公司被“一锅端” 或因私自抓取用户简历:曾获李开复投资
  5. 驱动模块Makefile 编写【原创】
  6. fatal: protocol error: bad line length character: No s原因
  7. asp.net mvc使用mysql_如何使用MySQL设置ASP.NET MVC 2?
  8. rtp发送h264和h265
  9. html canvas toblob 和下载图片
  10. 软考路:2021年系统架构设计师之考试