在 Ubuntu 上用 gcc 编译失败,通常可以按下面步骤排查和解决。
gcc --version
如果提示 command not found,说明没装:
sudo apt update
sudo apt install build-essential
build-essential 包含 gcc、g++、make 等基础工具。
编译时一定要仔细看报错内容,例如:
gcc test.c -o test
常见错误类型:
error: expected ‘;’ before ‘}’ token
→ 检查代码是否少分号、括号不匹配。
fatal error: xxx.h: No such file or directory
解决:
sudo apt install libxxx-dev
例如:
sudo apt install libssl-dev
undefined reference to `func'
→ 忘记加源文件或库:
gcc main.c func.c -o main
或链接库:
gcc main.c -lm
✅ 正确示例:
gcc main.c -o main
❌ 常见错误:
-o 但以为生成了g++ main.cpp -o main
如果报错:
Permission denied
可能是:
chmod +x test
报错:
cannot find -lxxx
安装 32 位支持:
sudo apt install gcc-multilib
如果还解决不了,请把完整的编译命令 + 完整报错信息贴出来,例如:
$ gcc test.c
test.c:5:10: fatal error: stdio.h: No such file or directory
我可以帮你精确定位问题。
如果你愿意,可以直接把报错内容复制过来,我一步一步帮你改。