Ubuntu 下用 gcc 编译报错的原因有很多种,不能只看“报错了”,需要看具体的错误信息。不过我可以先给你总结一下 Ubuntu 上 gcc 编译最常见的报错原因和对应解决办法,你可以对照看看属于哪一种。
Command 'gcc' not found
或
gcc: command not found
Ubuntu 默认不一定装 gcc(尤其是最小化安装)。
sudo apt update
sudo apt install build-essential
build-essential 会安装 gcc、g++、make 等。
fatal error: stdio.h: No such file or directory
或
fatal error: xxx.h: No such file or directory
sudo apt install libc6-dev
gcc main.c -I./include
undefined reference to `sqrt'
或
undefined reference to `main'
main 函数gcc main.c -lm
多个文件:
gcc main.c func.c -o app
undefined reference to `functionName'
或
expected ‘;’ before ‘}’ token
gcc 编 C++ 文件extern "C"C++ 用 g++:
g++ main.cpp
error: expected ‘;’ before ‘}’
error: ‘i’ undeclared
gcc main.c -std=c99
Permission denied
chmod +x a.out
./a.out
cannot execute binary file: Exec format error
确认架构一致,或交叉编译。
如果你愿意,把完整的报错信息 + 编译命令 + 代码片段发出来,例如:
gcc main.c
报错内容……
我可以直接帮你精确定位问题。
你可以现在把报错贴出来。