漳州哪里做网站个人在线网站推广
1. 前言
  CentOS 7 默认安装的 gcc 版本为 4.8,但是很多时候都会需要用到更高版本的 gcc 来编译源码,那么本文将会介绍如何在线升级 CentOS 的 gcc 版本。
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
 
