GCC依赖库处理全流程
一 安装系统级依赖与编译器
二 定位与安装缺失的依赖
三 从源码构建 GCC 的依赖处理
四 常见报错与对策速查表
| 现象 | 原因 | 解决 |
|---|---|---|
| gcc: command not found | 编译器未安装 | Ubuntu/Debian:sudo apt install gcc;CentOS/RHEL:sudo yum groupinstall “Development Tools” |
| undefined reference to `func’ | 链接阶段缺少目标文件或库、库顺序不当 | 确保把实现文件或库放在命令行中,并按依赖顺序书写(被依赖者在后) |
| /usr/bin/ld: cannot find -lxxx | 链接器找不到库文件 | 用 -L 指定库目录,确认库名正确(去掉 lib 与 .so/.a) |
| error while loading shared libraries: libxxx.so | 运行时找不到共享库 | ldd 检查;将目录加入 /etc/ld.so.conf 并执行 sudo ldconfig;或临时设置 LD_LIBRARY_PATH |
| apt 依赖冲突 | 版本不一致或冲突 | 使用 sudo aptitude install gcc g++ 交互式解决 |
| 构建 GCC 时报缺少 GMP/MPFR/MPC | 源码构建依赖未满足 | 先源码安装 GMP、MPFR、MPC(必要时 ISL),再配置 GCC 指向其前缀 |