0

0

Linux如何安装GCC编译器_Linux源码编译必备环境【教程】

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-02-06 13:39:33

|

796人浏览过

|

来源于php中文网

原创

Ubuntu/Debian 下用 sudo apt install build-essential 最快,它自动安装 gcc、g++、make、libc6-dev 等;仅装 gcc 会因缺头文件报错 stdio.h 不存在。

linux如何安装gcc编译器_linux源码编译必备环境【教程】

Ubuntu/Debian 系统直接用 apt 安装 GCC 最快

绝大多数现代 Linux 发行版不需要从源码编译 GCC,系统包管理器已提供稳定、兼容的版本。Ubuntu 或 Debian 下执行:

sudo apt update && sudo apt install build-essential
build-essential 是元包,会自动安装 gccg++makelibc6-dev 等核心工具。装完验证:
gcc --version
如果输出类似 gcc (Ubuntu 12.04-0ubuntu1~22.04.1) 12.3.0,说明已就绪。

常见错误:只装 gcc 却漏掉 libc6-dev,导致编译时提示 fatal error: stdio.h: No such file or directory。这是因为头文件和链接库不在默认路径,build-essential 能一并解决。

CentOS/RHEL/Rocky Linux 用 dnf 或 yum 安装 GCC

RHEL 系 8+ 默认用 dnf,7 及更早用 yum。推荐命令:

sudo dnf groupinstall "Development Tools"
该组包含 gccgcc-c++makeautoconfautomake 等全套开发依赖。

注意点:

  • 不要单独运行 sudo dnf install gcc —— 它不自动拉取 glibc-devel,同样会报找不到 stdio.h
  • 若提示 No group Development Tools available,先启用 CodeReady Builder 仓库(RHEL)或 PowerTools(CentOS Stream)
  • dnf groupinfo "Development Tools" 可查看实际包含哪些包

为什么一般不建议从源码编译 GCC

源码编译 gcc 是可行的,但耗时长(数小时)、依赖复杂(需先有能编译 C++ 的旧版 GCC、GMP/MPFR/MPC 库),且极易因配置参数出错导致生成的编译器无法正常工作。

腾讯智影
腾讯智影

腾讯推出的在线智能视频创作平台

下载

典型失败场景:

  • 忘记 --enable-languages=c,c++,结果编译出来只有 C 支持,g++ 命令不存在
  • 未设置 --prefix=/opt/gcc-13.2,默认装到 /usr/local,覆盖系统原有工具链,可能破坏系统软件包构建
  • 编译中途因内存不足(internal compiler error: Killed)被 OOM killer 终止,尤其在 2GB 以下内存的 VPS 上
除非你明确需要某个特定补丁版本、或要交叉编译目标平台,否则没必要走这条路。

验证 GCC 是否真正可用,别只看 --version

gcc --version 成功只代表二进制存在,不代表能编译代码。最简验证方式:

echo '#include \nint main(){printf("OK\\n");return 0;}' | gcc -x c - -o test && ./test
如果输出 OK,说明预处理器、编译器、链接器、C 运行时全部连通。

容易被忽略的细节:

  • 某些最小化安装的系统(如 Docker Alpine、CoreOS)默认用 musl,不带 glibcapt install build-essential 无效,得换发行版或用 apk add build-base
  • WSL1 用户若遇到 cc1: error: unrecognized command line option '-mno-avx512f',是 WSL1 内核不支持新指令集,降级 GCC 版本或升级到 WSL2
  • 非 root 用户想局部安装 GCC?可用 linuxbrewbrew install gcc),它会把完整工具链放在 ~/.linuxbrew 下,不污染系统

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

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

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

309

2023.10.18

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

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

317

2023.10.25

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

263

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

503

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

406

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

445

2024.04.08

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

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

1478

2023.06.21

如何安装LINUX
如何安装LINUX

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

710

2023.06.29

1688阿里巴巴货源平台入口与批发采购指南
1688阿里巴巴货源平台入口与批发采购指南

本专题整理了1688阿里巴巴批发进货平台的最新入口地址与在线采购指南,帮助用户快速找到官方网站入口,了解如何进行批发采购、货源选择以及厂家直销等功能,提升采购效率与平台使用体验。

33

2026.02.06

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.6万人学习

Git 教程
Git 教程

共21课时 | 3.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号