5154

Good Luck To You!

CentOS系统下怎么用yum命令安装gcc编译器?

在 CentOS 系统中安装 GCC(GNU Compiler Collection)是进行软件开发、编译软件包或运行某些依赖编译环境的脚本所必需的步骤,GCC 是一个功能强大的编译器套件,支持 C、C++、Objective-C、Fortran、Ada、Go 和 D 等多种编程语言,根据 CentOS 的不同版本以及用户对 GCC 版本的具体需求,有多种安装方法可供选择,本文将详细介绍在 CentOS 系统上下载和安装 GCC 的几种主流方式,并提供清晰的指导和注意事项。

CentOS系统下怎么用yum命令安装gcc编译器?


使用 YUM/DNF 安装开发工具组(推荐)

对于绝大多数用户而言,这是最简单、最快捷且最推荐的方法,CentOS 官方仓库提供了一个名为“Development Tools”的软件包组,它包含了GCC编译器本身以及一系列其他开发所必需的工具,如 makegdbbinutils 等。

对于 CentOS 7

CentOS 7 默认使用 yum 作为其包管理器,打开终端,执行以下命令即可安装完整的开发工具组:

sudo yum groupinstall "Development Tools"

系统会列出所有将要安装的软件包,输入 y 并回车确认。yum 会自动处理所有依赖关系并完成安装,这个过程可能需要几分钟时间,具体取决于您的网络速度。

对于 CentOS 8 / CentOS Stream 9

从 CentOS 8 开始,dnf 取代了 yum 成为默认的包管理器(尽管在许多系统中 yum 仍然是 dnf 的一个符号链接),安装命令与 CentOS 7 非常相似:

sudo dnf groupinstall "Development Tools"

同样,确认安装列表并等待完成。

验证安装

安装完成后,您可以通过以下命令来检查 GCC 是否已成功安装及其版本信息:

gcc --version

如果终端输出了 GCC 的版本号、版权信息等,则说明安装已成功,在 CentOS 7 上,默认版本可能是 GCC 4.8.5。


安装特定或更新版本的 GCC

有时,系统默认仓库中的 GCC 版本可能过于陈旧,无法满足新项目对 C++17、C++20 等新标准特性的需求,在这种情况下,我们需要从特定的仓库中安装更新的 GCC 版本。

在 CentOS 7 中使用 Developer Toolset

CentOS 7 通过 Software Collections (SCL) 提供了更新的工具链,称为 Developer Toolset,这允许您在不影响系统默认 GCC 版本的情况下,安装并使用更新的 GCC。

CentOS系统下怎么用yum命令安装gcc编译器?

安装 SCL 仓库发布文件:

sudo yum install centos-release-scl

您可以安装特定版本的 Developer Toolset,不同版本对应不同的 GCC 版本,如下表所示:

Developer Toolset 版本 GCC 版本 安装命令示例
devtoolset-7 3.1 sudo yum install devtoolset-7
devtoolset-8 3.1 sudo yum install devtoolset-8
devtoolset-9 3.1 sudo yum install devtoolset-9

要安装 GCC 9,可以执行:

sudo yum install devtoolset-9

安装后,新版本的 GCC 不会立即成为系统默认,您需要通过 scl 命令来启用它,这个命令会在一个新的 shell 会话中临时设置环境变量。

scl enable devtoolset-9 bash

执行此命令后,您就进入了一个新的 bash shell,gcc --version 将会显示 9.3.1 版本,当您退出此 shell 时,系统将恢复到默认的 GCC 版本。

在 CentOS 8/9 中使用 PowerTools/CRB 仓库

在 CentOS 8 及更高版本中,更新的 GCC 版本通常位于 PowerTools(CentOS 8)或 CodeReady Builder (CRB, CentOS Stream 9) 仓库中。

启用该仓库,对于 CentOS 8:

sudo dnf config-manager --set-enabled powertools

对于 CentOS Stream 9:

sudo dnf config-manager --set-enabled crb

启用仓库后,您可以使用 dnf 搜索并安装 gcc-toolset,安装 GCC 12:

CentOS系统下怎么用yum命令安装gcc编译器?

sudo dnf install gcc-toolset-12-gcc

与方法类似,安装后需要手动启用:

scl enable gcc-toolset-12 bash

从源代码编译安装(高级)

如果上述方法都无法满足您的极端需求(例如需要安装最新的预发布版或打上特定补丁的版本),您可以选择从源代码编译安装,这是一个耗时且复杂的过程,仅推荐给有经验的开发者。

主要步骤如下:

  1. 安装编译依赖:您需要先有一个基础的编译器和相关库来编译新版本的 GCC。
    sudo yum groupinstall "Development Tools"
    sudo yum install gmp-devel mpfr-devel libmpc-devel zlib-devel
  2. 下载源码:从 GCC 官方网站(https://gcc.gnu.org/mirrors.html)下载您需要的版本源代码包(gcc-13.2.0.tar.gz)并解压。
  3. 配置编译选项:进入解压后的目录,创建一个构建目录并运行 configure 脚本。
    tar -xf gcc-13.2.0.tar.gz
    cd gcc-13.2.0
    mkdir build && cd build
    ../configure --prefix=/usr/local/gcc-13 --enable-languages=c,c++ --disable-multilib

    --prefix 指定了安装路径,避免覆盖系统文件。

  4. 编译与安装:这个过程非常耗时,可能需要一小时或更久。
    make -j$(nproc) # 使用所有CPU核心进行编译
    sudo make install
  5. 配置环境:将新安装的 GCC 路径添加到 PATH 环境变量中。

相关问答 (FAQs)

我已经通过 devtoolset 安装了新版本的 GCC,为什么输入 gcc --version 后显示的仍然是系统旧版本?

回答: 这是因为通过 yum install devtoolset-Xscl enable devtoolset-X bash 安装和启用的 GCC 是在一个隔离的软件包集合环境中运行的。scl enable 命令只会为当前终端会话临时设置环境变量(如 PATHLD_LIBRARY_PATH),使其指向新版本的 GCC,当您关闭这个终端或开启一个新的终端窗口时,环境变量会恢复原状,因此默认调用的仍然是系统自带的旧版 GCC,如果您需要在一个脚本或任务中持续使用新版本,请确保在该脚本的开头也执行 scl enable devtoolset-X bash 命令。

执行 yum install gcc 时提示 “没有可用的软件包” 或 “Cannot find a matching package”,该怎么办?

回答: 这个问题通常由以下几个原因造成:1. 网络问题:请确保您的服务器可以正常访问互联网,2. YUM 仓库配置错误:检查 /etc/yum.repos.d/ 目录下的仓库文件(.repo)是否配置正确,特别是对于已经停止维护(EOL)的 CentOS 7,其官方仓库可能已不可用,您可能需要将仓库配置指向 CentOS Vault 存档,3. 仓库缓存过期:尝试清理并重新生成 YUM 缓存,执行 sudo yum clean all 然后执行 sudo yum makecache,4. 系统版本过旧:确保您的系统已更新到该版本的最新状态,执行 sudo yum update,如果问题依旧存在,请仔细检查仓库配置,这是最常见的原因。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.