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

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

1. 安装所需的 GCC 版本

首先,更新包列表并安装所需的 GCC 版本。本文将安装 gcc-7, gcc-9 和 gcc-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-7 和 g++-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 版本。

相关推荐
迷途之人不知返8 分钟前
自主实现一个简单的shell命令行
linux
顺风尿一寸1 小时前
深入 Linux 6.18 挂载机制:从 VFS 到 ext4 的完整调用链
linux
翼龙云_cloud1 小时前
阿里云国际代理商:ECS部署DeepSeek大模型指南
服务器·阿里云·大模型·云计算
她说彩礼65万1 小时前
C语言 assert
java·linux·c语言
lcj25112 小时前
【Linux】 Makefile 详解
linux·笔记·面试
天疆说2 小时前
腾讯会议 Linux 版在 NVIDIA 显卡上看不到画面:EGL 像素配置与窗口视觉不匹配的排查与修复
linux·数据库·腾讯会议
geats人山人海2 小时前
linux 2 基本操作与vim
linux·运维·vim
2401_868534782 小时前
安全故障分析
服务器·网络·安全
xixiaoyunya2 小时前
集中保护多台电脑:搭建内网备份服务器的完整实操方案
运维·服务器·电脑
她说彩礼65万2 小时前
C语言 const的使用
java·服务器·c语言