Linux怎么安装GCC_Linux如何配置C语言编译环境【方法】

大枫酱_8892

大枫酱_8892

2026-03-21

780人浏览

原创

系统常未预装gcc,需用包管理器检查并安装对应开发包,ubuntu用build-essential,centos需启用crb仓库后装development tools,arch用base-devel,并验证stdio.h等头文件和链接器是否可用。

linux怎么安装gcc_linux如何配置c语言编译环境【方法】

确认系统是否已预装 GCC

很多 Linux 发行版(尤其是 Ubuntu、Debian、CentOS Stream 8+、Fedora)默认不带 gcc,但可能装了 gcc-minimal 或只含 C++ 编译器 g++。直接运行 gcc --version 报 “command not found” 是最常见现象,别急着重装——先查包管理器有没有缓存记录。

  • Ubuntu/Debian:运行 dpkg -l | grep gcc,看是否安装了 gcc-12 但没建 gcc 符号链接
  • CentOS/RHEL/Fedora:用 rpm -qa | grep gcc,注意 gcc-c++ 不等于 gcc
  • 如果输出为空,说明真没装;如果有类似 gcc-11.4.1-2.fc38 但 gcc 命令不可用,大概率是 alternatives 或 update-alternatives 没配置

不同发行版安装 GCC 的命令差异

包名和仓库启用状态才是关键,不是所有系统敲 apt install gcc 就能通吃。比如 CentOS Stream 9 默认禁用 crb 仓库,dnf install gcc 会提示“没有可用软件包”。

  • Ubuntu 22.04+ / Debian 12+:sudo apt update && sudo apt install build-essential(必须装这个元包,它包含 gcc、g++、make、libc6-dev)
  • CentOS Stream 8/9:sudo dnf config-manager --set-enabled crb(Stream 9 必做),再 sudo dnf groupinstall "Development Tools"
  • Fedora 38+:sudo dnf groupinstall "@Development Tools"(注意引号和 @ 符号)
  • Arch Linux:sudo pacman -S base-devel(base-devel 是必需组,单独装 gcc 包不够,缺 make 和头文件)

验证编译环境是否真正可用

装完 gcc 只是第一步,C 环境还依赖标准库头文件(stdio.h 等)、链接器 ld、动态链接器路径。很多人写完 hello.c 却卡在 fatal error: stdio.h: No such file or directory,其实是 libc6-dev(Debian)或 glibc-devel(RHEL)没装。

  • 最小验证代码:
    #include <stdio.h>
    int main() { printf("OK\n"); return 0; }</stdio.h>
    保存为 test.c,执行 gcc test.c -o test && ./test
  • 若报 stdio.h 找不到:Ubuntu 补 sudo apt install libc6-dev,CentOS 补 sudo dnf install glibc-devel
  • 若报 cannot find -lc 或 ld: cannot find crt1.o:说明 glibc-devel 或 libc6-dev 安装不全,或架构不匹配(如在 x86_64 系统误装 i386 开发包)

交叉编译或旧版本 GCC 的特殊处理

生产环境常需指定 GCC 版本(比如内核模块要求 gcc-11),而系统默认可能是 gcc-13。硬删新版风险大,正确做法是并存 + 切换。

  • Ubuntu:装多个版本后用 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 和 sudo update-alternatives --config gcc
  • CentOS/RHEL:用 module load gcc-toolset-12(需先 dnf install gcc-toolset-12),它把工具链放在 /opt/rh/gcc-toolset-12/ 下,不影响系统默认
  • 手动编译安装 GCC:不要直接 make install 到 /usr/local,优先用 --prefix=/opt/gcc-12.3.0 隔离,然后通过 export PATH="/opt/gcc-12.3.0/bin:$PATH" 临时生效

真正麻烦的不是装不上,而是装了却缺头文件、链接器找不到运行时、或者多版本共存时 gcc 命令指向了错的 libgcc。验证时别只看 --version,一定要跑个带 #include 的完整编译链。

13万字C语言保姆级教程(深入):立即使用
在学习笔记中,你将探索c语言的核心概念和高级技巧!

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

949

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2660

5

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3890

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3353

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2493

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6010

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5642

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3313

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2825

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习