CentOS 升级 gcc 版本

CentOS 升级 gcc 版本

Centos 7 默认 gcc 版本为4.8,有时安装应用时会报错,需要升级 gcc 版本,分别执行下面三条命令即可。

版本升级

  1. 安装centos-release-scl

    1
    sudo yum -y install centos-release-scl
  2. 安装 devtoolset,注意,如果想安装 9.* 版本的,就改成devtoolset-9-gcc*,以此类推

    1
    sudo yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
  3. 启用 devtoolset-9,注意 scl脚本只是对本次会话起效,退出会话或重启系统就会恢复系统默认的gcc版本

    1
    scl enable devtoolset-9 bash
  4. 查看 gcc 版本

    1
    2
    3
    4
    5
    [root@localhost ~]# gcc --version
    gcc (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.

​ 显示为:gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)

  1. 永久起效

    1
    echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

版本切换

  1. devtoolset 安装目录 /opt/rh

    1
    2
    3
    4
    5
    6
    [root@localhost rh]# ls
    devtoolset-9
    [root@localhost rh]# pwd
    /opt/rh
    [root@localhost rh]# ls devtoolset-9/
    enable root
  2. 每个版本目录下都有一个 enable启本,切换版本只需执行对应版本的 enable脚本。

    1
    source /opt/rh/devtoolset-9/enable

    或自己写个 shell 脚本来切换版本。

直接替换

系统默认安装的 gcc 运行的目录是 /usr/bin/gcc,可以将该目录下的gcc/g++替换为新版本gcc软连接,直接启效。

1
2
3
4
5
6
7
8
9
#备份
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
mv /usr/bin/g++ /usr/bin/g++-4.8.5
#创建软链接
ln -s /opt/rh/devtoolset-9/root/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
#查看版本
gcc --version
g++ --version

相关参考

  1. 为CentOS 6、7升级gcc至4.8、4.9、5.2、6.3、7.3等高版本
作者

光星

发布于

2022-01-07

更新于

2023-03-06

许可协议

评论