gcc/g++版本多版本切换共存

一、参考资料

【Deepin 20系统】解决Error: unsupported compiler: 8.3.0. Use --override to override this check.

二、关键步骤

重要说明:博主的系统是Ubuntu20.04,gcc和g++的版本是9.3。

  1. 安装 build-essential

    默认的 Ubuntu 软件源包含了一个软件包组,名称为 “build-essential”,它包含了 GNU 编辑器集合,GNU 调试器,和其他编译软件所必需的开发库和工具

    sudo apt update
    sudo apt install build-essential
    
  2. 安装gcc-7

    sudo apt-get install -y software-properties-common
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt update
    sudo apt install gcc-7 g++-7
    
  3. 删除原来版本gcc建立的软链接

    sudo rm -rf /usr/bin/gcc
    sudo rm -rf usr/bin/g++
    
  4. 建立新的gcc版本的软连接

    sudo ln -s /usr/bin/gcc-7 /usr/bin/gcc
    sudo ln -s /usr/bin/g++-7 /usr/bin/g++
    
  5. 查看gcc版本

    gcc --version
    
    [root@host-10-10-17-13 ~]# gcc --version
    gcc (GCC) 7.3.0
    Copyright (C) 2017 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/g++

Linux升级gcc到最新版本gcc-11.2.0

1. 下载gcc

gcc下载地址
腾讯软件源

wget http://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz

tar -zxvf gcc-11.2.0.tar.gz

2. 下载依赖包

下载gcc依赖包:

./contrib/download_prerequisites

如果执行上述命令报错,需要执行如下命令在“gcc-11.2.0/”文件夹下下载依赖包:

wget http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
wget http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
wget http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
wget http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2

下载好上述依赖包后,重新执行以下命令:

./contrib/download_prerequisites

3. 配置gcc

cd gcc-11.2.0
mkdir build
cd build/

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib --prefix=/usr/local/gcc-11.2.0

参数解释

  • –enable-languages 表示你要让你的gcc支持那些语言;
  • –disable-multilib 不生成编译为其他平台可执行代码的交叉编译器。
  • –disable-checking 生成的编译器在编译过程中不做额外检查,也可以使用 –enable-checking=xxx 来增加一些检查。
  • –prefix 指定gcc安装路径,与系统默认的/usr/bin/gcc区分开。

4. 编译gcc

# -j12,加快编译速度(建议不要超过CPU核心数量的2倍)
make -j12

5. 安装

默认的安装路径:/usr/local/bin/gcc

make install

6. 切换版本

与上文方法一致。

四、在线安装gcc/g++

  • Ubuntu 18.04可以使用以下命令安装。

    sudo apt-get install software-properties-common -y
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    
    sudo apt-get install gcc-7 -y
    
  • CentOS 7可以使用以下命令安装。

    sudo yum install centos-release-scl
    sudo yum install devtoolset-7
    

    安装完成后,需要使用如下命令切换到GCC 7。

    scl enable devtoolset-7 bash
    
  • EulerOS和OpenEuler可以使用以下命令安装。

    sudo yum install gcc -y
    

你可能感兴趣的:(运维,linux)