Ubuntu 下 C++ 编译/运行错误的原因很多,下面我按 最常见场景 给你一个排查和解决指南。你可以对照看看,也可以把具体报错贴出来,我可以精准帮你分析。
g++ --version
如果没有:
sudo apt update
sudo apt install build-essential
✅ build-essential 包含:
fatal error: iostream: No such file or directory
gcc 而不是 g++✅ 用 g++ 编译
g++ main.cpp -o main
❌ 错误方式:
gcc main.cpp
undefined reference to `std::cout'
gcc 编译 C++ 文件g++ main.cpp -o main
expected ';' before 'return'
;}✅ 最小可编译示例:
#include <iostream>
using namespace std;
int main() {
cout << "Hello Ubuntu" << endl;
return 0;
}
error: ‘nullptr’ was not declared
g++ main.cpp -std=c++11 -o main
常用标准:
-std=c++11
-std=c++14
-std=c++17
-std=c++20
fatal error: opencv2/opencv.hpp: No such file or directory
sudo apt install libopencv-dev
编译时指定路径:
g++ main.cpp `pkg-config --cflags --libs opencv4`
Permission denied
chmod +x main
./main
调试方法:
g++ -g main.cpp -o main
gdb ./main
# 1. 安装环境
sudo apt install build-essential gdb
# 2. 编译
g++ -Wall -Wextra -std=c++17 main.cpp -o main
# 3. 运行
./main
✅ -Wall -Wextra 会显示更多警告,非常有用
你可以直接贴出:
我可以一步一步帮你定位 ✅