在CentOS系统中,GCC(GNU Compiler Collection)是开发过程中不可或缺的工具,用于编译C、C++、Objective-C等多种编程语言,本文将详细介绍如何在CentOS系统中下载并安装GCC,涵盖不同版本的CentOS(如CentOS 7和CentOS 8/Stream)的安装步骤,以及常见问题的解决方案,通过清晰的步骤说明和实用的小标题,帮助读者快速完成GCC的配置,确保开发环境顺利搭建。

检查系统是否已安装GCC
在安装GCC之前,首先需要确认系统中是否已存在该工具,打开终端,输入以下命令检查GCC版本:
gcc --version
如果系统已安装GCC,终端会显示版本信息;若提示“command not found”,则需进行安装,可通过以下命令查看已安装的编译相关包:
rpm -qa | grep gcc
该命令会列出所有与gcc相关的rpm包,帮助判断是否需要完整安装或升级。
CentOS 7系统中安装GCC
CentOS 7默认的软件源中包含GCC,但版本可能较旧,以下是安装步骤:
- 更新软件包列表
在安装前,建议先更新系统软件包以确保获取最新信息:sudo yum update -y
- 安装GCC及开发工具
使用yum命令安装GCC和必要的开发工具包:sudo yum groupinstall "Development Tools" -y
该命令会自动安装GCC、G++、make等开发工具。

- 验证安装
安装完成后,再次运行gcc --version确认版本,默认安装的GCC版本通常为4.8.5,若需更高版本,需通过第三方源(如DevToolset)升级。
CentOS 8/Stream系统中安装GCC
CentOS 8及Stream版本使用dnf作为包管理器,安装步骤略有不同:
- 更新系统
sudo dnf update -y
- 安装GCC及开发工具
执行以下命令安装GCC和开发工具集:sudo dnf groupinstall "Development Tools" -y
- 安装特定版本的GCC
若需安装其他版本(如GCC 9或10),可通过dnf的模块功能实现:sudo dnf install gcc-toolset-10-gcc -y
安装后,需通过
module enable命令启用对应版本。
通过DevToolset升级GCC(CentOS 7)
对于需要更高版本GCC的CentOS 7用户,可使用Red Hat提供的DevToolset:
- 启用EPEL源
首先安装EPEL(Extra Packages for Enterprise Linux)源:sudo yum install epel-release -y
- 安装DevToolset
以DevToolset-7为例(提供GCC 7):sudo yum install centos-release-scl -y sudo yum install devtoolset-7-gcc* -y
- 启用临时版本
通过以下命令临时启用GCC 7,重启终端后失效:scl enable devtoolset-7 bash
若需永久启用,可创建符号链接或配置环境变量。
编译测试与常见问题
安装完成后,建议编写一个简单的C程序测试编译功能,创建文件test.c如下:

#include <stdio.h>
int main() {
printf("GCC编译测试成功!\n");
return 0;
}
使用以下命令编译并运行:
gcc test.c -o test ./test
若输出预期结果,则安装成功,常见问题包括:
- 权限不足:确保所有安装命令前添加
sudo。 - 依赖冲突:若安装失败,可尝试清理缓存(
sudo yum clean all)后重试。
相关问答FAQs
Q1:如何切换CentOS系统中已安装的多个GCC版本?
A1:若系统通过DevToolset或dnf安装了多个GCC版本,可通过以下方式切换:
- 临时切换:使用
scl enable命令,如scl enable devtoolset-10 bash启用GCC 10。 - 永久切换:创建符号链接,例如
sudo ln -s /opt/rh/devtoolset-10/root/bin/gcc /usr/local/bin/gcc,或将路径添加到~/.bashrc的PATH变量中。
Q2:安装GCC时提示“Error: Unable to find a match”怎么办?
A2:该错误通常因软件源未启用或版本不匹配导致,解决方案包括:
- 检查网络连接并更新软件源:
sudo yum update -y或sudo dnf update -y。 - 对于CentOS 7,确保已安装EPEL源和DevToolset相关包。
- 对于CentOS 8,尝试启用对应模块:
sudo dnf module enable gcc:10 -y后再安装。