温馨提示×

Debian怎么编译GCC

小樊
51
2026-07-15 19:02:51
栏目: 智能运维

在 Debian 上编译 GCC(GNU Compiler Collection)一般分 系统包方式源码手动编译 两种。如果你只是想“安装/升级 GCC”,优先用包管理器;如果你需要 自定义版本或交叉编译,再考虑源码编译。

下面我按 最常见需求 给你一个完整、可操作的流程。


一、最简单方式(推荐)

安装 Debian 官方 GCC

sudo apt update
sudo apt install gcc g++

查看版本:

gcc --version

✅ 适合 99% 用户


二、从源码编译 GCC(进阶)

1️⃣ 安装依赖

sudo apt update
sudo apt install \
  build-essential \
  libgmp-dev \
  libmpfr-dev \
  libmpc-dev \
  flex \
  bison \
  texinfo \
  wget \
  git

2️⃣ 下载 GCC 源码

GCC 13 为例:

wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz
tar -xf gcc-13.2.0.tar.xz
cd gcc-13.2.0

或最新开发版:

git clone https://gcc.gnu.org/git/gcc.git
cd gcc

3️⃣ 下载依赖(推荐)

GCC 自带脚本:

./contrib/download_prerequisites

它会自动下载:

  • gmp
  • mpfr
  • mpc
  • isl

4️⃣ 新建编译目录(必须

⚠️ 不要直接在源码目录编译

mkdir build
cd build

5️⃣ 配置(configure)

常见配置(安装到 /usr/local/gcc-13):

../configure \
  --prefix=/usr/local/gcc-13 \
  --enable-languages=c,c++ \
  --disable-multilib \
  --disable-bootstrap

说明:

  • --enable-languages:只编译 C/C++
  • --disable-multilib:不编译 32 位
  • --disable-bootstrap:加快编译(不建议生产环境)

6️⃣ 编译

make -j$(nproc)

⚠️ 编译时间可能 30 分钟~数小时


7️⃣ 安装

sudo make install

8️⃣ 使用新 GCC

临时使用:

export PATH=/usr/local/gcc-13/bin:$PATH

永久使用(写入 ~/.bashrc):

echo 'export PATH=/usr/local/gcc-13/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

验证:

gcc --version

三、同时保留多个 GCC 版本(推荐)

Debian 官方支持:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-13/bin/gcc 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/gcc-13/bin/g++ 100

切换:

sudo update-alternatives --config gcc

四、常见问题

❓ 编译失败

  • 磁盘空间不足(至少 20GB)
  • 内存不足(建议 ≥ 8GB)
  • 缺少依赖

❓ Debian 稳定版 GCC 太旧

  • backports
sudo apt install -t bullseye-backports gcc-12

五、你应该选哪种方式?

需求 建议
普通开发 apt install gcc
新特性 / 最新标准 源码编译
交叉编译 源码 + --target
CI / 生产 官方包

如果你愿意,可以告诉我:

  • Debian 版本(11 / 12 / sid)
  • 目标 GCC 版本
  • 是否交叉编译(如 ARM / RISC-V)

我可以给你 精确命令

0