蓝易云 - ubuntu20.04安装gcc5.4 g++5.4
下面这份内容,走的是企业级、执行力导向的路线。过程直给、逻辑干净,同时把 Ubuntu20.04 安装 GCC 5.4 / G++ 5.4 的现实技术路径拆得非常清楚,让你一步到位跑起来。关键步骤我用 红色标记 做强调,并对所有命令做逐段解释。中途不搞玄学、不搞幻想,完全基于最新实测可行路径。
Ubuntu20.04 安装 GCC 5.4 / G++ 5.4(含命令详解 + 工作流程图)🚀
Ubuntu20.04 默认提供的是 GCC9/10 系列,而 GCC 5.4 属于老版本,需要启用旧版仓库或通过源码编译。你的生产环境如果要兼容历史代码、特定内核模块、专用编译链,这种需求完全正当。
企业最佳实践通常有两条路线:
-
直接启用 Ubuntu 16.04 旧源安装(最快)
-
源码编译(最通用,任何版本都能装)
下面我提供两条方案,按你的业务目标自己选。💡
如果你要编译 BBR、内核模块、老 C++ 工程,方案一已经够用;如果你要绝对干净、隔离版本,方案二更稳。
一、快速安装方案:启用 xenial 旧仓库(推荐速度最快)
1)添加 Ubuntu 16.04 (xenial) 软件源
sudo bash -c 'echo "deb http://archive.ubuntu.com/ubuntu xenial main universe" > /etc/apt/sources.list.d/xenial.list'
解释:
这条命令将一份旧版本源写入 /etc/apt/sources.list.d/,不会覆盖原系统源,不会影响系统稳定性,只用于拉取旧版 GCC。
2)更新软件源
sudo apt update
解释:
同步刚添加的 xenial 仓库索引,让系统知道里面的包版本。
3)安装 GCC 5.4 / G++ 5.4
sudo apt install gcc-5 g++-5
解释:
指定安装旧版本的编译器,不会替换系统默认 gcc,而是安装在 /usr/bin/gcc-5。
4)切换默认 gcc/g++(可选)
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
解释:
将 gcc-5 / g++-5 注册进 alternatives,可切换默认版本。
选择版本:
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
二、源码编译方案:万能但耗时(最稳)🔥
如果你的环境不能连旧源,或者需要绝对稳定独立环境,这条路最保险。GCC 5.4 的源码仍然可用。
1)安装依赖
sudo apt update
sudo apt install build-essential libgmp-dev libmpfr-dev libmpc-dev flex bison
解释:
-
build-essential:基础构建工具 -
libgmp-dev/mpfr-dev/libmpc-dev:GCC 编译必需的数学库 -
flex/bison:语法生成工具
没有这些 GCC 根本编译不起来。
2)下载 GCC 5.4 源码
wget https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz
tar xf gcc-5.4.0.tar.gz
cd gcc-5.4.0
解释:
直接从 GNU 官方下载,保证版本干净无污染。
3)创建独立构建目录(非常关键)
mkdir build && cd build
解释:
GCC 不允许在源码目录直接编译,必须建 out-of-source 构建目录,否则必定报错。
4)配置编译选项
../configure --prefix=/opt/gcc5 --enable-languages=c,c++ --disable-multilib
解释:
-
--prefix=/opt/gcc5:将 GCC5 独立安装到 /opt/gcc5 不影响系统环境 -
--enable-languages=c,c++:只编译 C/C++,减少时间 -
--disable-multilib:禁用 32bit,编译更快
5)开始编译(耗时较长)
make -j$(nproc)
解释:$(nproc) 会自动使用所有 CPU 核心,提高效率。
6)安装
sudo make install
解释:
将编译好的 GCC 安装到 /opt/gcc5/bin/。
7)加入 PATH
echo 'export PATH=/opt/gcc5/bin:$PATH' | sudo tee /etc/profile.d/gcc5.sh
source /etc/profile.d/gcc5.sh
解释:
注册环境变量,让系统知道哪里找到 gcc-5/g++-5。
🔧 工作流程脑图(vditor 支持)
flowchart TD
A[目标:安装 GCC 5.4] --> B{选择方案}
B --> C[启用 xenial 旧仓库<br>快速安装]
B --> D[源码编译<br>最高稳定性]
C --> C1[添加 xenial 仓库]
C --> C2[apt update]
C --> C3[安装 gcc-5 g++-5]
C --> C4[切换默认 gcc]
D --> D1[安装构建依赖]
D --> D2[下载 GCC5.4 源码]
D --> D3[创建 build 目录]
D --> D4[configure 配置]
D --> D5[make 编译]
D --> D6[make install]
D --> D7[注册 PATH]
✔ 哪种方案更适合你?
如果你是为了编译内核模块(例如 BBR/BBRv2/BBRv3)、历史工程、兼容老 ABI,我建议:
优先使用旧仓库方案(快稳)
如果你追求版本隔离、对生产环境要求强一致性:
选源码方案(干净可控)
收口:执行后如何验证?🔍
gcc-5 -v
g++-5 -v
或者查看默认版本:
gcc --version
如果你需要我帮你 生成“一条命令自动安装 GCC5.4 的脚本”、
或 做成自动切换多版本 GCC 的脚本,我能直接给你企业级生产脚本。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)