WSL2 Ubuntu安装GCC不同版本
- 介绍
- 安装gcc 7.1
- 方法 1:通过源码编译安装 GCC 7.1
- 步骤 1:安装编译依赖
- 步骤 2:下载 GCC 7.1 源码
- 步骤 3:配置和编译
- 步骤 4:配置环境变量
- 步骤 5:验证安装
- 方法 2:通过第三方 PPA 安装(不推荐,可能不兼容)
- 注意事项
- 安装gcc 10、11及以上(以11为例)
- 1. 更新软件包列表
- 2. 安装 GCC 11 和 G++ 11
- 直接通过官方仓库安装(推荐)
- 3. 验证安装
- 4. 设置默认版本(可选)
- 5. 完全卸载(如果需要)
- 卸载安装
- 1. 删除安装目录
- 2. 清理环境变量
- 3. 移除 `update-alternatives` 配置(如果配置过)
- 4. 验证卸载
- 5. 额外清理(可选)
- 注意事项
介绍
安装gcc 7.1
在 WSL2 的 Ubuntu 24.04 中安装 GCC 7.1 需要手动操作,因为该版本较旧且 Ubuntu 24.04 的默认仓库已不再提供。以下是分步安装方法:
方法 1:通过源码编译安装 GCC 7.1
步骤 1:安装编译依赖
sudo apt update
sudo apt install -y build-essential \
gcc-multilib g++-multilib \
libgmp-dev libmpfr-dev libmpc-dev \
flex bison texinfo
步骤 2:下载 GCC 7.1 源码
wget https://ftp.gnu.org/gnu/gcc/gcc-7.1.0/gcc-7.1.0.tar.gz
tar -xzvf gcc-7.1.0.tar.gz
cd gcc-7.1.0
步骤 3:配置和编译
./configure --prefix=/usr/local/gcc-7.1 \
--enable-languages=c,c++ \
--disable-multilib \
--disable-bootstrap
make -j$(nproc) # 根据 CPU 核心数调整并行编译(如 `-j4`)
sudo make install
步骤 4:配置环境变量
# 将以下内容添加到 ~/.bashrc
echo 'export PATH=/usr/local/gcc-7.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/gcc-7.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
步骤 5:验证安装
gcc --version # 应输出 "gcc (GCC) 7.1.0"
方法 2:通过第三方 PPA 安装(不推荐,可能不兼容)
如果存在支持 Ubuntu 24.04 的旧版 GCC PPA,可以尝试:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-7 g++-7
但 Ubuntu 24.04 可能已移除对 GCC 7 的支持,此方法大概率失败。
注意事项
-
兼容性问题:
- Ubuntu 24.04 的库依赖较新,安装旧版 GCC 7.1 可能导致动态链接库冲突。
- 推荐优先使用 Docker 容器 或 源码编译。
-
多版本管理:
- 使用
update-alternatives
管理多版本 GCC:sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-7.1/bin/gcc 70 sudo update-alternatives --config gcc # 交互式切换版本
- 使用
-
依赖修复:
- 如果安装后出现依赖错误,尝试:
sudo apt --fix-broken install
- 如果安装后出现依赖错误,尝试:
安装gcc 10、11及以上(以11为例)
在 Ubuntu 系统中安装 GCC 11 和 G++ 11 的步骤如下:
1. 更新软件包列表
sudo apt update
2. 安装 GCC 11 和 G++ 11
直接通过官方仓库安装(推荐)
如果 Ubuntu 仓库中已包含 GCC 11:
sudo apt install gcc-11 g++-11
3. 验证安装
检查版本:
gcc-11 --version # 应输出 "gcc (Ubuntu 11.x.x)"
g++-11 --version # 应输出 "g++ (Ubuntu 11.x.x)"
4. 设置默认版本(可选)
如果系统中存在多个 GCC/G++ 版本,可通过 update-alternatives
切换默认版本:
# 配置 GCC
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11
# 配置 G++
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11
# 交互式选择默认版本
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
5. 完全卸载(如果需要)
sudo apt remove gcc-11 g++-11
卸载安装
要卸载通过源码编译安装的软件(例如 GCC 7.1),需手动删除安装时生成的文件和目录。以下是详细步骤:
1. 删除安装目录
如果编译安装时指定了 --prefix=/usr/local/gcc-7.1
,直接删除该目录:
sudo rm -rf /usr/local/gcc-7.1
2. 清理环境变量
如果之前在 ~/.bashrc
或 ~/.profile
中添加了环境变量,需手动移除相关行:
nano ~/.bashrc
删除以下类似内容:
export PATH=/usr/local/gcc-7.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-7.1/lib64:$LD_LIBRARY_PATH
保存文件后生效:
source ~/.bashrc
3. 移除 update-alternatives
配置(如果配置过)
如果通过 update-alternatives
设置了默认版本,需移除相关条目:
# 列出所有 GCC 版本
sudo update-alternatives --config gcc
# 移除 GCC 7.1 的条目
sudo update-alternatives --remove gcc /usr/local/gcc-7.1/bin/gcc
4. 验证卸载
检查是否彻底移除:
gcc --version # 应不再显示 7.1 版本
ls /usr/local/gcc-7.1 # 目录应不存在
5. 额外清理(可选)
- 删除源码目录:
rm -rf ~/gcc-7.1.0 # 假设源码解压到用户主目录
- 清理系统缓存:
sudo ldconfig # 更新动态链接库缓存
注意事项
- 谨慎操作:使用
sudo rm -rf
时确保路径正确,避免误删系统文件。 - 多版本共存:如果系统中存在多个 GCC 版本,确保其他版本不受影响。
- 依赖问题:卸载后,依赖该 GCC 版本的程序可能无法运行,需重新配置或安装。