在Linux CentOS系统中安装GCC编译器是开发过程中常见的需求,GCC(GNU Compiler Collection)是Linux环境下广泛使用的编译工具集,支持C、C++、Fortran等多种编程语言,本文将详细介绍在CentOS系统上安装GCC的完整步骤,包括不同版本的安装方法、环境配置以及常见问题的解决方案。

检查系统当前状态
在安装GCC之前,首先需要确认系统是否已安装GCC及其版本,打开终端,输入以下命令:
gcc --version
如果系统已安装GCC,将显示当前版本信息;如果未安装,则会提示“command not found”,还可以使用yum list installed | grep gcc命令查看系统中已安装的所有与gcc相关的包。
更新系统软件包
为了确保安装过程的稳定性和安全性,建议在安装前更新系统软件包列表,执行以下命令:
sudo yum update -y
该命令会更新系统中所有已安装的软件包到最新版本,并修复可能存在的安全漏洞。
安装GCC基础版本
CentOS系统中,可以使用yum包管理器安装GCC的基础版本,执行以下命令:
sudo yum install gcc -y
该命令会安装GCC的核心组件,包括C语言编译器,安装完成后,可以通过gcc --version验证安装是否成功,如果仅需C++编译器,可以单独安装gcc-c++包:
sudo yum install gcc-c++ -y
安装特定版本的GCC
某些项目可能需要特定版本的GCC,例如GCC 4.8或GCC 9,CentOS 7和CentOS 8的默认软件源中可能不包含所有版本的GCC,以下是安装特定版本的方法:
使用Software Collections(SCL)
CentOS提供了Software Collections仓库,包含多个版本的GCC,首先安装SCL工具:

sudo yum install centos-release-scl -y
然后安装所需的GCC版本,例如GCC 9:
sudo yum install devtoolset-9-gcc -y
安装完成后,需要启用该版本:
scl enable devtoolset-9 bash ```添加到`~/.bashrc`文件中以永久启用: ```bash source /opt/rh/devtoolset-9/enable
从源码编译安装
如果需要更高版本的GCC(如GCC 11或以上),可以从源码编译安装,首先安装必要的依赖包:
sudo yum install gcc gcc-c++ make wget tar -y
然后下载GCC源码并编译:
wget https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz tar -xvf gcc-11.2.0.tar.gz cd gcc-11.2.0 ./contrib/download_prerequisites ./configure --prefix=/usr/local/gcc-11.2.0 make -j$(nproc) sudo make install
编译过程可能需要较长时间,具体取决于系统性能,安装完成后,可以通过/usr/local/gcc-11.2.0/bin/gcc --version验证版本。
配置环境变量
如果GCC安装在非默认路径(如/usr/local/gcc-11.2.0),需要将GCC的路径添加到系统的PATH环境变量中,编辑~/.bashrc文件:
export PATH=/usr/local/gcc-11.2.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/gcc-11.2.0/lib64:$LD_LIBRARY_PATH
保存文件后,执行source ~/.bashrc使配置生效。
验证安装
完成安装后,可以通过以下命令验证GCC是否正常工作:

echo 'int main() { printf("Hello, World!\n"); return 0; }' > test.c
gcc test.c -o test
./test
如果输出“Hello, World!”,则说明GCC安装成功。
常见问题及解决方案
-
问题:安装时提示“Error: Nothing to do”。 解决:说明系统中已安装该版本的GCC,可以跳过安装步骤或使用
yum update更新现有版本。 -
问题:编译时提示“undefined reference to”错误。 解决:可能是缺少相关库文件,安装对应的开发包,例如
sudo yum install glibc-devel。
相关问答FAQs
Q1: 如何卸载已安装的GCC?
A1: 使用yum remove gcc命令卸载基础版本,或使用yum remove devtoolset-9-gcc卸载特定版本,从源码编译安装的GCC需要手动删除安装目录。
Q2: 如何查看系统中所有可用的GCC版本?
A2: 使用yum list available | grep gcc命令查看软件源中可用的GCC版本,或使用scl list查看已安装的Software Collections版本。