Ubuntu安装GCC多版本的步骤
在安装前,先更新软件仓库索引以确保获取最新版本信息:
sudo apt update
通过apt包管理器直接安装所需版本的GCC和对应的G++(编译C++代码必需)。例如安装GCC 9和GCC 12:
sudo apt install gcc-9 g++-9 # 安装GCC 9系列
sudo apt install gcc-12 g++-12 # 安装GCC 12系列
注:若需安装更旧的版本(如GCC 4.8),需先添加对应的PPA源(如
ppa:ubuntu-toolchain-r/test),再执行安装命令。
通过以下命令列出系统中所有已安装的GCC版本,确认安装成功:
ls /usr/bin/gcc* # 查看GCC可执行文件
gcc --version # 查看当前默认版本
g++ --version # 查看当前默认G++版本
update-alternatives是Ubuntu提供的工具,用于管理系统命令的符号链接,实现多版本切换。
为每个安装的GCC版本设置优先级(数值越大,优先级越高,默认版本会自动选中)。例如注册GCC 9(优先级90)和GCC 12(优先级100):
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 # 同步注册G++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12 # 同步注册G++
注:
--slave参数确保GCC和G++版本一致,避免混用导致编译错误。
运行以下命令进入交互界面,通过数字键选择默认版本:
sudo update-alternatives --config gcc
示例输出:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-12 100 auto mode
1 /usr/bin/gcc-9 90 manual mode
2 /usr/bin/gcc-12 100 manual mode
Press <enter> to keep the current choice[*], or type selection number:
输入对应编号(如1)并按回车,即可切换为GCC 9。
切换后,通过以下命令确认当前使用的GCC版本:
gcc -v # 查看GCC版本
g++ -v # 查看G++版本
若不再需要某个版本,可通过update-alternatives移除其备选列表,再用apt彻底卸载:
sudo update-alternatives --remove gcc /usr/bin/gcc-9 # 移除GCC 9的备选
sudo apt remove gcc-9 g++-9 # 彻底卸载
sudo apt --fix-broken install修复;