Ubuntu/Debian 下用 sudo apt install build-essential 最快,它自动安装 gcc、g++、make、libc6-dev 等;仅装 gcc 会因缺头文件报错 stdio.h 不存在。
Ubuntu/Debian 系统直接用 apt 安装 GCC 最快
绝大多数现代 Linux 发行版不需要从源码编译 GCC,系统包管理器已提供稳定、兼容的版本。Ubuntu 或 Debian 下执行:
sudo apt update && sudo apt install build-essential
build-essential 是元包,会自动安装 gcc、g++、make、libc6-dev 等核心工具。装完验证:
gcc --version
如果输出类似 gcc (Ubuntu 12.04-0ubuntu1~22.04.1) 12.3.0,说明已就绪。
常见错误:只装 gcc 却漏掉 libc6-dev,导致编译时提示 fatal error: stdio.h: No such file or directory。这是因为头文件和链接库不在默认路径,build-essential 能一并解决。
CentOS/RHEL/Rocky Linux 用 dnf 或 yum 安装 GCC
RHEL 系 8+ 默认用 dnf,7 及更早用 yum。推荐命令:
sudo dnf groupinstall "Development Tools"
该组包含 gcc、gcc-c++、make、autoconf、automake 等全套开发依赖。
注意点:
- 不要单独运行
sudo dnf install gcc—— 它不自动拉取glibc-devel,同样会报找不到stdio.h - 若提示
No group Development Tools available,先启用 CodeReady Builder 仓库(RHEL)或 PowerTools(CentOS Stream) -
dnf groupinfo "Development Tools"可查看实际包含哪些包
为什么一般不建议从源码编译 GCC
源码编译 gcc 是可行的,但耗时长(数小时)、依赖复杂(需先有能编译 C++ 的旧版 GCC、GMP/MPFR/MPC 库),且极易因配置参数出错导致生成的编译器无法正常工作。