如何快速安装指定版本GCC以显著提升编译效率?

更新于
2026-08-13 17:35:58
6阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

在上为服务器快速安装指定版本的GCC。往往会遇到以下痛点:

  • 官方仓库只提供当前版本,难以满足项目对特定编译器的依赖。
  • 需要在内网环境下完成安装,无法访问外部网络获取依赖。
  • 手动编译源码耗时长、易出错,且缺乏统一的安装方法管理。
  • 多项目共存时如何切换不同GCC版本并保持默认配置也成了难题。

再看主要优势,简化安装流程

本方案使用预编译好的RPM包。只需几条命令就可以完成部署,而且已经可在上稳定运行,无需任何外部依赖,适合内网离线部署。怎么说呢,

如何快速安装指定版本GCC以显著提升编译效率?

一、准备工作:下载与解压

  1. aarch64 GCC 软件包.rar中提取所有 RPM 文件。
  2. 将解压得到的 .rpm 放入自定义目录,例如 /usr/local/gcc-8.2.0

二、执行安装命令

sudo rpm -ivh --nodeps --force /usr/local/gcc-8.2.0/*.rpm

如何快速安装指定版本GCC以显著提升编译效率?

三、验证是否成功安装

gcc --version # 若显示对应版本号,则安装成功!

适用场景与使用方法概览

A) 开发部署:快速搭建 C/C++ 编译环境

  • C/C++ 项目:
  • 跨网站建立:SCL_ENABLE=devtoolset-8 bash,随时切换到不同版本。
  • No Internet 环境:

B) 多版本管理 & 默认设置

  1. 启用 Software Collections 仓库:
# 安装 SCL 仓库
sudo yum install centos-release-scl
# 搜索可用 GCC 版本
yum search gcc
# 安装指定版本
sudo yum install devtoolset-8-gcc devtoolset-8-gcc-c++
# 启用该版本
scl enable devtoolset-8 bash
# 验证
gcc --version
  1. N次启动自动启用:scl enable devtoolset-8 bash && echo 'scl enable devtoolset-8 bash'>> ~/.bashrc 
  2. `update-alternatives` 自动切换:/usr/bin/alternatives --config gcc 进行手动选择,也可以脚本化自动切换。

Caching 与并行编译提高效率

"我只想一次性跑完所有单元测试。不想每次都重新编译"

  • Ccache:  - 安装后只需一次完整编译,后续增量编译极快。

# 安装 ccache
sudo yum install ccache
export PATH=/usr/lib64/ccache:$PATH
export CC='ccache gcc'
export CXX='ccache g++'

  • make -jN 并行编译:  - N 为 CPU 主要数。如 make -j$.
    # 示例:
    make -j$
    

  • 常见问题解决速查表

    场景 常见错误 尽快处理
    仓库没有所需 GCC No matching Packages found 使用 SCL 或自行下载 .rpm 包
    依赖冲突 Requires: libstdc++.so.* --nodeps --force 强制覆盖或手动安装缺失共享库
    默认 GCC 不生效 gcc --version 显示旧版 .bashrc 加入
    source /opt/rh/devtoolset-XX/etc/profile.d/dt_env.sh
    离线安装失败 Could not resolve host ... 确认所有 .rpm 已放在同一目录,并使用绝对方法

    这篇文章参考了多篇官方文档与社区经验,结合实际 CentOS 7 aarch64 服务器测试,可直接复制粘贴使用。如遇特殊需求,请,其实,

    标签:CentOS

    在上为服务器快速安装指定版本的GCC。往往会遇到以下痛点:

    • 官方仓库只提供当前版本,难以满足项目对特定编译器的依赖。
    • 需要在内网环境下完成安装,无法访问外部网络获取依赖。
    • 手动编译源码耗时长、易出错,且缺乏统一的安装方法管理。
    • 多项目共存时如何切换不同GCC版本并保持默认配置也成了难题。

    再看主要优势,简化安装流程

    本方案使用预编译好的RPM包。只需几条命令就可以完成部署,而且已经可在上稳定运行,无需任何外部依赖,适合内网离线部署。怎么说呢,

    如何快速安装指定版本GCC以显著提升编译效率?

    一、准备工作:下载与解压

    1. aarch64 GCC 软件包.rar中提取所有 RPM 文件。
    2. 将解压得到的 .rpm 放入自定义目录,例如 /usr/local/gcc-8.2.0

    二、执行安装命令

    sudo rpm -ivh --nodeps --force /usr/local/gcc-8.2.0/*.rpm

    如何快速安装指定版本GCC以显著提升编译效率?

    三、验证是否成功安装

    gcc --version # 若显示对应版本号,则安装成功!

    适用场景与使用方法概览

    A) 开发部署:快速搭建 C/C++ 编译环境

    • C/C++ 项目:
    • 跨网站建立:SCL_ENABLE=devtoolset-8 bash,随时切换到不同版本。
    • No Internet 环境:

    B) 多版本管理 & 默认设置

    1. 启用 Software Collections 仓库:
    # 安装 SCL 仓库
    sudo yum install centos-release-scl
    # 搜索可用 GCC 版本
    yum search gcc
    # 安装指定版本
    sudo yum install devtoolset-8-gcc devtoolset-8-gcc-c++
    # 启用该版本
    scl enable devtoolset-8 bash
    # 验证
    gcc --version
    
    1. N次启动自动启用:scl enable devtoolset-8 bash && echo 'scl enable devtoolset-8 bash'>> ~/.bashrc 
    2. `update-alternatives` 自动切换:/usr/bin/alternatives --config gcc 进行手动选择,也可以脚本化自动切换。

    Caching 与并行编译提高效率

    "我只想一次性跑完所有单元测试。不想每次都重新编译"

    • Ccache:  - 安装后只需一次完整编译,后续增量编译极快。

    # 安装 ccache
    sudo yum install ccache
    export PATH=/usr/lib64/ccache:$PATH
    export CC='ccache gcc'
    export CXX='ccache g++'
    

  • make -jN 并行编译:  - N 为 CPU 主要数。如 make -j$.
    # 示例:
    make -j$
    

  • 常见问题解决速查表

    场景 常见错误 尽快处理
    仓库没有所需 GCC No matching Packages found 使用 SCL 或自行下载 .rpm 包
    依赖冲突 Requires: libstdc++.so.* --nodeps --force 强制覆盖或手动安装缺失共享库
    默认 GCC 不生效 gcc --version 显示旧版 .bashrc 加入
    source /opt/rh/devtoolset-XX/etc/profile.d/dt_env.sh
    离线安装失败 Could not resolve host ... 确认所有 .rpm 已放在同一目录,并使用绝对方法

    这篇文章参考了多篇官方文档与社区经验,结合实际 CentOS 7 aarch64 服务器测试,可直接复制粘贴使用。如遇特殊需求,请,其实,

    标签:CentOS