在 CentOS 上用 gcc 编译报错,排查可以按下面步骤来,基本能解决 90% 的问题。
gcc --version
如果没有:
sudo yum install gcc gcc-c++
gcc: command not found✅ 没装 gcc
sudo yum install gcc
fatal error: xxx.h: No such file or directory例如:
fatal error: stdio.h: No such file or directory
✅ 缺头文件或开发包
sudo yum install glibc-headers
sudo yum install kernel-headers
如果是第三方库(如 openssl、mysql):
sudo yum install openssl-devel
undefined reference to xxx✅ 链接库没加
例如用 math:
gcc test.c -lm
常见库:
-lpthread-lstdc++(C++)-lssl -lcrypto✅ 用 g++
g++ test.cpp
collect2: error: ld returned 1 exit status✅ 一般是:
检查:
gcc main.c -L/usr/lib -lxxx
gcc 版本低(4.8.5),不支持 C++11/14/17
✅ 升级 gcc:
sudo yum install centos-release-scl
sudo yum install devtoolset-9
scl enable devtoolset-9 bash
如果你愿意,可以把 完整报错信息 发出来(哪怕截图文字也行),我可以:
你可以直接贴:
报错内容 + 编译命令 + CentOS版本