内容简介:CentOS 7官方源带的gcc最新版本是4.8.5,发布于2015年,年代久远且不支持c++14。要编译c++14及以上项目,必须要升级现有版本或者安装高版本的gcc。问题的解决办法主要有两种:手动编译安装(也可以从其他机器拷贝或者网上下载),或从源安装。大多数情况下本人都不推荐从源码编译,因为过程中常会出现各种依赖问题需要人工手动解决,费时(单核编译gcc至少一小时)且耗费精力,并且软件升级还要再来一次,相当的折腾。鉴于此下文介绍从源安装的方法。红帽其实已经编译好了高版本的gcc,但未更新到base和e
CentOS 7官方源带的gcc最新版本是4.8.5,发布于2015年,年代久远且不支持c++14。要编译c++14及以上项目,必须要升级现有版本或者安装高版本的gcc。
问题的解决办法主要有两种:手动编译安装(也可以从其他机器拷贝或者网上下载),或从源安装。大多数情况下本人都不推荐从源码编译,因为过程中常会出现各种依赖问题需要人工手动解决,费时(单核编译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等多个版本。
因为不会覆盖系统默认的gcc,使用这些软件的方法有四种:
scl enable devtoolset-x bash source /opt/rh/devtoolset-x/enable
推荐使用最后两种方式,例如启用gcc 6: source /opt/rh/devtoolset-6/enable
,然后输入 gcc -v
查看版本已经变成gcc 6.3.1。使用类似的命令可以随时在多个gcc版本中切换。如果希望长期使用高版本,可将此命令写入 .bashrc
等配置文件。
最后说一下,scl以及scl-rh源中的软件包都安装在/opt/rh/目录下,包含可执行文件、配置等。所以启用命令的路径是 /opt/rh/xxx/enable
,安装的服务重启命令则可能是 systemctl restart rh-xxx
,需要加rh或scl前缀以区别其他源的包。如果你用过remi/gitlab等源,其行为方式也是类似的。
参考
以上所述就是小编给大家介绍的《CentOS 7上升级/安装gcc》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 强化学习基础-对偶梯度上升
- 机器学习笔记(八):随机梯度上升/下降算法调优
- 微软一顿操作猛如虎,PowerShell 排名直线上升
- RedMonk 语言排行:Kotlin 上升 8 位,TS 快进前 10
- RedMonk 语言排行:Kotlin 上升8 位,TS快进前 10
- 你不知道的Node.js性能优化,读了之后水平直线上升
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Numerical Recipes 3rd Edition
William H. Press、Saul A. Teukolsky、William T. Vetterling、Brian P. Flannery / Cambridge University Press / 2007-9-6 / GBP 64.99
Do you want easy access to the latest methods in scientific computing? This greatly expanded third edition of Numerical Recipes has it, with wider coverage than ever before, many new, expanded and upd......一起来看看 《Numerical Recipes 3rd Edition》 这本书的介绍吧!