你这个问题描述得比较笼统,我只能先列出 Ubuntu 下 C++ 编译最常见的出错原因,你可以对照一下;如果方便,把具体报错信息贴出来,我可以精准帮你定位。
报错类似:
g++: command not found
解决:
sudo apt update
sudo apt install g++ build-essential
新手常见错误:
gcc main.cpp # 错,C++ 要用 g++
正确:
g++ main.cpp -o main
报错:
fatal error: iostream: No such file or directory
可能原因:
.c 当 C++ 编译解决:
sudo apt install g++ build-essential
代码用了 C++11/14/17,但没指定:
auto x = 5;
报错:
error: ‘auto’ does not name a type
解决:
g++ main.cpp -std=c++17 -o main
报错:
undefined reference to `func()`
原因:
例如:
g++ main.cpp func.cpp -o main
或动态库:
g++ main.cpp -lpthread -o main
.c → 被当 C 编译.cpp / .cc / .cxx → C++bash: ./main: Permission denied
解决:
chmod +x main
请把下面信息发我:
lsb_release -a)例如:
g++ test.cpp
test.cpp:5:10: fatal error: xxx.h: No such file
我可以直接告诉你是哪一步错了、怎么改。
要不要我先帮你写一个 Ubuntu 下能直接编译的 C++ 示例?