在 CentOS 上 gcc 无法运行 的原因通常可以归为下面几类,你可以按顺序排查:
CentOS 最小化安装默认 不带 gcc。
检查是否安装:
gcc --version
如果提示:
bash: gcc: command not found
说明未安装。
安装方法:
sudo yum install gcc gcc-c++ -y
(CentOS 8 用 dnf)
即使装了 gcc,如果路径不在 PATH 也会找不到。
查看 gcc 位置:
which gcc
rpm -ql gcc | grep bin/gcc
如果 gcc 存在但 which gcc 为空:
export PATH=/usr/bin:$PATH
(永久生效需写入 ~/.bashrc 或 /etc/profile)
报错类似:
/lib/ld-linux.so.2: bad ELF interpreter
解决:
sudo yum install glibc.i686 -y
运行 gcc 时报类似:
error while loading shared libraries: libxxx.so
查看缺失库:
ldd $(which gcc)
安装对应 devel 包即可。
gcc 没有执行权限:
ls -l $(which gcc)
若无 x 权限:
sudo chmod +x /usr/bin/gcc
getenforce
临时关闭测试:
setenforce 0
/lib、/proc 等很多人说“gcc 无法运行”,其实是 编译成功但运行不了程序:
gcc test.c
./a.out
若报错:
bash: ./a.out: Permission denied
解决:
chmod +x a.out
或:
gcc test.c -o test
./test
gcc --version
which gcc
ldd $(which gcc)
echo $PATH
如果你愿意,可以把 具体报错信息原样贴出来(终端复制),我可以直接帮你定位是哪一类问题。