“Ubuntu 上 gcc 编译失败”原因非常多,需要先看具体报错信息才能精确定位。下面我按常见原因 + 对应现象 + 解决办法给你一个排查清单,你可以一条条对。
gcc: command not found
或
bash: gcc: 未找到命令
sudo apt update
sudo apt install build-essential
gcc --version
fatal error: xxx.c: No such file or directory
ls
pwd
error: expected ‘;’ before ‘}’ token
error: ‘i’ undeclared
gcc 默认按 C 编译)fatal error: stdio.h: No such file or directory
sudo apt install libc6-dev
如果是第三方库:
sudo apt install libxxx-dev
undefined reference to `pthread_create'
gcc test.c -lpthread
数学库:
gcc test.c -lm
error: ‘cout’ was not declared in this scope
g++ test.cpp
Permission denied
chmod +x a.out
./a.out
或输出到别的目录:
gcc test.c -o /tmp/test
某些老代码在新 gcc(如 gcc 11+)会报错:
error: ISO C++ forbids ...
gcc test.c -std=c99
g++ test.cpp -std=c++11
请把以下信息发我,我可以直接告诉你原因:
lsb_release -a
gcc --version
如果你愿意,直接贴报错,我帮你逐行分析。