对于Linux 下 C++ 开发,可以总结为一句话:
不难,但琐碎;门槛不高,复杂度取决于你在做什么。
下面从「新手 / 普通项目 / 大型工程」三个层次来说。
如果你只是:
.cpp那非常简单,基本 10 分钟内搞定。
sudo apt install g++ make # Ubuntu / Debian
// main.cpp
#include <iostream>
int main() {
std::cout << "Hello Linux C++\n";
}
g++ main.cpp -o main
./main
✅ 这是 Linux C++ 最简单的形态
当项目变复杂时,主要会遇到以下“琐碎点”:
g++:不太现实cmake_minimum_required(VERSION 3.10)
project(demo)
add_executable(demo main.cpp)
mkdir build && cd build
cmake ..
make
✅ 这是工业界最常见方式
Linux 没有像 Windows 那样的“一键安装 SDK”。
常见情况:
apt install libxxx-dev例如:
sudo apt install libopencv-dev
#include <opencv2/opencv.hpp>
⚠️ 初学者常卡在:
-I / -L / -l 不懂| 工具 | 说明 |
|---|---|
| gdb | 命令行调试(有门槛) |
| gdb + vscode | ✅ 推荐 |
| valgrind | 内存检测 |
| strace / perf | 高级分析 |
如果你做:
那复杂度会明显上升:
-std=c++17, -O2, -Wall)但这是工程复杂度,不是 Linux 本身的问题。
| 对比项 | Linux | Windows |
|---|---|---|
| 编译器 | g++ / clang(简单) | MSVC(复杂) |
| 环境 | 文本配置 | 图形界面 |
| 库管理 | 偏手动 | vcpkg / NuGet |
| 调试 | gdb / vscode | Visual Studio |
| 学习曲线 | 偏陡 | 平缓 |
✅ Linux 更适合“理解原理”
✅ Windows 更适合“快速开发”
g++Linux C++ 配置本身不复杂,但生态“分散 + 碎片化”,容易劝退初学者。
如果你愿意,我可以:
你现在是用在什么场景?