商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > CentOS怎么安装GCC编译器环境

CentOS怎么安装GCC编译器环境

  发布于2026-08-19 阅读(0)

扫一扫,手机访问

答案是推荐使用SCL源的devtoolset方案升级GCC。CentOS 7默认GCC 4.8.5过旧,通过安装centos-release-scl和devtoolset-9等工具集可实现多版本共存、按需启用且不破坏系统稳定性。

CentOS怎么安装GCC编译器环境

gcc 在 CentOS 上不是“单个程序”,而是一整套工具链的一部分。默认仓库里提供的版本往往老旧(比如 CentOS 7 是 gcc 4.8.5),直接 yum install gcc 能跑 Hello World,但编译现代 C++ 项目或依赖新标准的开源库时大概率会失败。

CentOS 7 安装默认 GCC(够用但老旧)

如果你只是临时编译简单 C 程序、不涉及 C++17/20、不构建大型项目,用系统自带的最省事:

  • 先更新系统:yum update -y
  • 安装开发工具组(比单独装 gcc 更稳妥):yum groupinstall "Development Tools"
  • 验证:gcc --version 输出应为 gcc (GCC) 4.8.5

注意:groupinstall 会一并装上 g++makebinutils 等必需组件;只装 gcc 不装 gcc-c++,C++ 项目会报 command not found: g++

CentOS 7 升级到 GCC 9(推荐用于实际开发)

CentOS 7 默认不提供 GCC 9,但 Red Hat 最新通过 devtoolset-9 提供了兼容、可共存的高版本工具链——不用卸载旧版,也不污染系统路径。

  • 启用 SCL 仓库:yum install centos-release-scl -y
  • 安装工具集:yum install devtoolset-9 -y
  • 临时启用(当前终端生效):scl enable devtoolset-9 bash
  • 永久启用(写入 shell 配置):echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc && source ~/.bashrc

执行 gcc --version 后应显示类似 gcc (GCC) 9.3.1。注意:这个环境只对当前用户生效,sudo 切换 root 后需重新 scl enable,否则仍用系统默认版本。

CentOS 8/9 直接用 dnf 安装较新 GCC

CentOS 8+ 已弃用 yum,改用 dnf,且默认源中 GCC 版本更高(CentOS 8 是 gcc 8.3.1,CentOS Stream 9 可达 gcc 11+):

  • dnf groupinstall "Development Tools"
  • 若需更高版本(如 GCC 12),可启用 powertoolscrb 仓库:dnf config-manager --set-enabled crb,再 dnf install gcc-toolset-12

注意:gcc-toolset-12devtoolset-9 类似,启用方式是 scl enable gcc-toolset-12 bash,不是直接替换系统 gcc

手动编译 GCC 的坑(除非真没别的路)

从源码编译 gcc 表面自由,实际极容易卡在依赖、磁盘空间、内存不足或 configure 参数错误上:

  • 至少需要 10GB 空闲空间(build 目录常超 5GB)
  • 必须提前装全依赖:yum install gmp-devel mpfr-devel libmpc-devel bison flex
  • ./contrib/download_prerequisites 这步失败很常见,常因网络或镜像不可用
  • 编译耗时长(多核 CPU 也常需 30 分钟以上),中途出错很难定位

真正需要定制(比如打补丁、改 target)才值得走这条路;日常开发请优先用 devtoolsetgcc-toolset

还有一点容易被忽视:即便你成功通过 scl enable 启用了新的GCC,makecmake 脚本仍有可能调用系统默认路径下的旧 gcc。所以,在构建之前,一定要确认 which gcc 输出的是 /opt/rh/devtoolset-9/root/usr/bin/gcc 这类路径,而不是 /usr/bin/gcc

本文转载于:https://www.php.cn/faq/3014520.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注