【Linux基础】CentOS 7环境下安装高版本GCC (gcc/g++ 9.3)
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)相关推荐
- nginx安装包 linux,Linux(CentOS)环境下安装下载Nginx并配置
1.准备工作 选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL. Nginx是C写的,需要用GCC编译:Ngin ...
- linux centos7 mysql_Linux centos7环境下安装MySQL的步骤详解
Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...
- 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 ...
- linux(ubuntu)环境下安装及配置JDK
安装完IDEA之后遇到了问题,发现jdk安装完之后配置环境变量好困难,下面总结一下我的安装及配置方式: JDK下载链接:http://download.oracle.com/otn-pub/java/ ...
- tensorflow运行环境linux,在ubuntu或者min运行环境下安装gpu版本的tensorflow
转载请注明出处:blog.csdn.net/sproll 本文描述在ubuntu系列操作系统上安装gpu版本的tensorflow的过程. 0,准备工作 BIOS中关闭板载显卡,显示器接在nvidia ...
- 在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 ...
- Win10环境下安装压缩包版本MySQL-8.0.13
准备工作 系统环境:Windows 10 1803版本: 压缩包:MySQL-8.0.13 Windows zip包下载: 安装过程 1. 加载安装包到你的安装目录 将下载的MySQL压缩包解压并移到 ...
- linux git编译安装目录,Linux(centos) 环境下如何源码编译安装git
21运维原创,转载请注明出处. 最近线上要使用git进行代码发布和版本管理了,之前搞过,一直没有做记录.从今儿起开始记录这块. linux上(当前文章使用的是centos,ubuntu采用apt-ge ...
- centos m4安装linux,Centos Docker环境下安装Dcm4che归档服务
本文实现了搭建一个最小的基于Dcm4che+Docker的归档服务,能够实现影像DICOM的归档,调阅,转发功能,其搭建参考于GitHub 开源项目说明:dcm4che/dcm4chee-arc-li ...
最新文章
- 慕课的原型图快速变html,分享一个html转换为pdf 利器 Pechkin
- 用Leangoo泳道完美实现Scrum任务看板
- java网格式布局登录界面_Java学习笔记------自己书写的登录界面实例
- GIS-013-Cesium Terrain 数据生成
- left join 索引失效无条件_从零开始学数据分析-mysql索引优化方案
- $.extend(true,{},a,b)解析
- java 队列的使用
- jQuery实现影院选座订座效果
- 【SpringMVC笔记】拦截器 + 文件上传下载
- 四、时间 .认知 .迭代
- php自学好还是培训,转行php选择自学还是培训
- 身份证验证Java代码
- 电阻器颜色代码在线计算机,色环电阻计算器
- 一键清空朋友圈软件_一键清空朋友圈软件有哪些(推荐几个好用软件)
- 更新来袭!新增语音添加待办、邮箱通知等功能
- 【WAX云钱包】Cloudflare反爬虫突破(SSL指纹识别)
- 【小程序】384- 如何一人五天开发完复杂小程序(前端必看)
- 英语歌曲:Can't Stop Love
- Crosswalk 集成到 Android Studio
- 交互技术前沿学习分享-翻译
热门文章
- 滴滴公众评议会第十一期:司机也可以评价乘客 你支持吗?
- 工资低是浪费生命?俞敏洪:当你工资比同学少一半 生命已经浪费一半
- LG G8X官方图流出:LG双屏手机也意外曝光 或IFA发布
- 这家简历大数据公司被“一锅端” 或因私自抓取用户简历:曾获李开复投资
- 驱动模块Makefile 编写【原创】
- fatal: protocol error: bad line length character: No s原因
- asp.net mvc使用mysql_如何使用MySQL设置ASP.NET MVC 2?
- rtp发送h264和h265
- html canvas toblob 和下载图片
- 软考路:2021年系统架构设计师之考试