在 CentOS 上,gcc(GNU Compiler Collection) 本身以及编译 C/C++ 程序时,依赖的“库”可以分为几类:
在 CentOS 中,通过 yum / dnf 安装 gcc 时,通常会自动安装以下依赖包:
glibc(GNU C Library)glibc-devel(C 头文件和静态库)glibc-commonbinutils(汇编器、链接器等)cpp(C 预处理器)libgcc(gcc 运行时库)libgomp(OpenMP 支持)libstdc++(C++ 标准库)libstdc++-devel(C++ 头文件)yum install gcc gcc-c++
会自动拉取上述依赖。
最低依赖:
glibc-devel(编译时头文件)示例:
#include <stdio.h>
需要:
yum install glibc-devel
额外依赖:
libstdc++libstdc++-devel示例:
#include <iostream>
需要:
yum install gcc-c++ libstdc++-devel
如果你做实际开发,通常还会需要:
yum groupinstall "Development Tools"
包含:
| 功能 | 包名 |
|---|---|
| 数学库 | glibc-devel(默认包含 -lm) |
| 线程 | glibc-devel(-lpthread) |
| 动态链接 | glibc |
| SSL | openssl-devel |
| 压缩 | zlib-devel |
| 数据库 | mysql-devel / postgresql-devel |
| XML | libxml2-devel |
如果你在一个最小化系统运行 gcc 编译出的程序,至少需要:
glibclibgcclibstdc++(C++ 程序)CentOS 上 gcc 依赖 glibc、binutils、cpp、libgcc、libstdc++;编译 C/C++ 程序还需要对应的
-devel头文件包。
如果你有具体场景(例如:
可以告诉我,我可以给更精确的依赖列表。