在 Ubuntu 上安装和切换多个 GCC 版本

在软件开发过程中,有时需要在不同的 GCC 版本之间进行切换。本文将介绍如何在 Ubuntu 上安装多个 GCC 版本,并使用 update-alternatives 工具进行版本切换。

1. 安装所需的 GCC 版本

首先,更新包列表并安装所需的 GCC 版本。本文将安装 gcc-7, gcc-9gcc-11

sh 复制代码
sudo apt update
sudo apt install gcc-7 g++-7 gcc-9 g++-9 gcc-11 g++-11
2. 使用 update-alternatives 工具配置 GCC 和 G++

使用 update-alternatives 工具来管理和切换 GCC 和 G++ 版本。

sh 复制代码
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100
3. 切换 GCC 和 G++ 版本

运行以下命令来选择默认的 GCC 和 G++ 版本:

sh 复制代码
sudo update-alternatives --config gcc
sudo update-alternatives --config g++

系统会显示一个可用 GCC 和 G++ 版本的列表,输入相应的数字选择所需的版本(例如 gcc-7g++-7)。

4. 验证 GCC 和 G++ 版本

切换完成后,可以通过以下命令验证当前使用的 GCC 和 G++ 版本:

sh 复制代码
gcc --version
g++ --version
5. 手动设置环境变量(如果需要)

如果 update-alternatives 设置正确,但仍然显示旧版本,可以尝试手动设置环境变量:

  1. 编辑 .bashrc.zshrc 文件

    sh 复制代码
    nano ~/.bashrc

    或者:

    sh 复制代码
    nano ~/.zshrc
  2. 添加以下行来设置 GCC 和 G++ 的路径

    sh 复制代码
    export PATH=/usr/bin/gcc-7:$PATH
    export PATH=/usr/bin/g++-7:$PATH
  3. 保存并退出编辑器

  4. 重新加载配置文件

    sh 复制代码
    source ~/.bashrc

    或者:

    sh 复制代码
    source ~/.zshrc
6. 验证版本

再次验证 GCC 和 G++ 版本:

sh 复制代码
gcc --version
g++ --version

总结

通过上述步骤,你可以在 Ubuntu 上安装和切换多个 GCC 版本。

相关推荐
2401_826097623 小时前
JavaEE-Linux环境部署
java·linux·java-ee
(:满天星:)4 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
小陶来咯4 小时前
【仿muduo库实现并发服务器】Acceptor模块
运维·服务器
爱莉希雅&&&5 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊5 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
渡我白衣5 小时前
Linux操作系统之文件(四):文件系统(上)
linux
ZZH1120KQ5 小时前
Linux系统安全及应用
linux·运维·系统安全
程序漫游人6 小时前
centos8.5安装jdk21详细安装教程
java·linux
小扎仙森6 小时前
关于服务器宝塔转移wordperss子比主题问题
运维·服务器
小小小糖果人6 小时前
Linux云计算基础篇(5)
linux·运维·服务器