在 Debian 上编译 GCC(GNU Compiler Collection)一般分 系统包方式 和 源码手动编译 两种。如果你只是想“安装/升级 GCC”,优先用包管理器;如果你需要 自定义版本或交叉编译,再考虑源码编译。
下面我按 最常见需求 给你一个完整、可操作的流程。
sudo apt update
sudo apt install gcc g++
查看版本:
gcc --version
✅ 适合 99% 用户
sudo apt update
sudo apt install \
build-essential \
libgmp-dev \
libmpfr-dev \
libmpc-dev \
flex \
bison \
texinfo \
wget \
git
以 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
GCC 自带脚本:
./contrib/download_prerequisites
它会自动下载:
⚠️ 不要直接在源码目录编译
mkdir build
cd build
/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:加快编译(不建议生产环境)make -j$(nproc)
⚠️ 编译时间可能 30 分钟~数小时
sudo make install
临时使用:
export PATH=/usr/local/gcc-13/bin:$PATH
永久使用(写入 ~/.bashrc):
echo 'export PATH=/usr/local/gcc-13/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
验证:
gcc --version
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
backports:sudo apt install -t bullseye-backports gcc-12
| 需求 | 建议 |
|---|---|
| 普通开发 | apt install gcc |
| 新特性 / 最新标准 | 源码编译 |
| 交叉编译 | 源码 + --target |
| CI / 生产 | 官方包 |
如果你愿意,可以告诉我:
我可以给你 精确命令。