CentOS 7(2009) 升级 GCC 版本

1. 前言

  CentOS 7 默认安装的 gcc 版本为 4.8,但是很多时候都会需要用到更高版本的 gcc 来编译源码,那么本文将会介绍如何在线升级 CentOSgcc 版本。

2. 升级 GCC

(1). 安装 centos-release-scl

[imaginemiracle@centos7 ~]$ sudo yum install centos-release-scl

(2). 安装 devtoolset

[imaginemiracle@centos7 ~]$ sudo yum install devtoolset-7-gcc*

[注]:笔者这里安装的是 gcc 7.x 版本的,若想安装其它版本,则修改对应的大版本号即可。如:要安装 gcc 9.x,执行 sudo yum install devtoolset-9-gcc*

(3). 使能所需版本的 devtoolset,因为该功能的原因,所以可以同时安装多个不同版本的 gcc,当在需要用对应版本的时候则只需要使用如下命令切换至即可;

[imaginemiracle@centos7 ~]$ scl enable devtoolset-7 bash

[注]:该命令只对当前终端生效,打开其它终端需要重新执行。下文将会介绍一劳永逸的方法。

(4). 查看当前版本

[imaginemiracle@centos7 ~]$ gcc -v

在这里插入图片描述
OK!没问题,我们已经成功安装好了 gcc 7.x

3. 永久替换旧版 GCC

  安装好 devtoolset 会在 /opt/rh 目录下创建对应的目录,包含对应版本的 gcc 工具链,和使能脚本。

在这里插入图片描述
  一般来说,若要启用某个版本的 gcc,需要 source 对应 devtoolset 目录下的 enable 文件。

[imaginemiracle@centos7 ~]$ source /opt/rh/devtoolset-7/enable

无论是这样每次执行 source,或者写入脚本,都感觉不方便。或者是放入开机启动脚本中,开机自动执行,也行。

不过,除了上述方法外,还有一种一劳永逸的方法,那就是创建软连接将 /usr/bin/gcc 替换掉。

[imaginemiracle@centos7 ~]$ mv /usr/bin/gcc /usr/bin/gcc-4.8.5

[imaginemiracle@centos7 ~]$ ln -s /opt/rh/devtoolset-7/root/bin/gcc /usr/bin/gcc

[imaginemiracle@centos7 ~]$ mv /usr/bin/g++ /usr/bin/g++-4.8.5

[imaginemiracle@centos7 ~]$ ln -s /opt/rh/devtoolset-7/root/bin/g++ /usr/bin/g++

[imaginemiracle@centos7 ~]$ gcc --version

[imaginemiracle@centos7 ~]$ g++ --version

#到此 CentOS 的 GCC 升级完毕

猜你喜欢

转载自blog.csdn.net/qq_36393978/article/details/130522969