2. 开发环境与工具链:Linux开发环境搭建、GCC/G++编译器、CMake构建系统、VSCode与CLion配置

说实话,C++开发的第一步,往往不是写代码,而是搞定环境。我见过太多新手在环境配置上卡了一整天,最后心态崩了。其实没那么复杂,今天我就带你走一遍,把坑都填平。

2.1 Linux开发环境搭建

我个人习惯用Ubuntu,原因很简单——社区活跃,遇到问题搜一下就有答案。你如果刚入门,建议选Ubuntu 20.04 LTS或22.04 LTS,稳定,支持周期长。

核心要点:不要用Windows子系统WSL1,用WSL2。WSL1的网络和文件系统性能差很多,我踩过这个坑。

安装完系统后,第一件事是更新包管理器:

sudo apt update
sudo apt upgrade -y

然后安装基础开发工具:

sudo apt install build-essential gdb cmake git -y

build-essential 这个包会帮你装好GCC、G++和一些基础库。嗯,这里要注意,它装的不一定是最新版,但够用。

2.2 GCC/G++编译器

GCC是Linux下的编译器老大。G++是它的C++前端。说白了,你写好的.cpp文件,靠它变成可执行文件。

检查版本:

g++ --version

一个最简单的编译命令:

g++ main.cpp -o main

但实际项目里,没人这么干。为什么?因为文件多了,你记不住所有依赖。我曾经在一个项目里手动编译了30多个文件,编译命令写了快200个字符,后来发现漏了一个依赖,链接报错,查了半小时。

所以,我们得用构建系统。

编译选项 作用 我常用的值
-Wall 开启所有警告 必加
-Wextra 额外警告 推荐
-O2 优化等级 发布用
-g 生成调试信息 调试用
-std=c++17 指定C++标准 现在项目基本用17或20

小技巧:调试阶段用 -g -O0,发布阶段用 -O2 -DNDEBUG。别在发布版里留调试信息,会暴露源码路径。

2.3 CMake构建系统

CMake是目前C++项目的事实标准。它不直接编译,而是生成Makefile或Ninja文件,然后让编译器干活。

一个最简单的CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(MyProject)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(my_app main.cpp)

构建命令:

mkdir build && cd build
cmake ..
make

我个人习惯用out-of-source构建,也就是在项目根目录外建一个build文件夹。这样源码目录干干净净,不会混入编译产物。

避坑指南:我曾经在项目里直接 cmake . 然后 make,结果build目录和源码混在一起,git提交时忘了加.gitignore,把一堆.o文件推上去了。队友差点没砍死我。

稍微复杂一点的项目,我会这样组织:

project/
├── CMakeLists.txt
├── src/
│   ├── CMakeLists.txt
│   └── main.cpp
├── include/
│   └── mylib.h
└── build/

根CMakeLists.txt里用 add_subdirectory(src) 引入子目录。这样模块清晰,后期加功能也方便。

2.4 VSCode与CLion配置

编辑器这东西,选顺手的最重要。我两个都用,但场景不同。

VSCode配置

VSCode轻量,适合快速编辑和调试小项目。你需要装这几个插件:

  • C/C++(微软官方)——语法高亮、智能提示
  • CMake Tools——直接在VSCode里运行CMake
  • Code Runner——一键运行单个文件
  • GitLens——看代码是谁写的,方便甩锅

配置 .vscode/tasks.json 来自动编译:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build",
      "type": "shell",
      "command": "cmake --build build",
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

然后按 Ctrl+Shift+B 就能编译。嗯,这里要注意,你得先手动 cmake .. 一次,生成build目录。

CLion配置

CLion是JetBrains家的,功能全,但吃内存。我一般做大项目时才开它。

CLion自带CMake支持,开箱即用。你只需要:

  1. File -> Settings -> Build, Execution, Deployment -> Toolchains
  2. 选择你的GCC/G++路径(一般自动识别)
  3. 设置CMake路径(如果系统没装,CLion会提示你装)

然后直接点那个绿色三角就能跑。CLion的调试器比VSCode强,尤其是查看复杂数据结构时,比如std::map里的内容,CLion展示得很清楚。

我的建议:日常写小demo用VSCode,做大型项目用CLion。如果你电脑内存只有8G,别开CLion,会卡到你怀疑人生。

2.5 知识体系总览

下面这张图,是我整理的本章节核心逻辑。你看一眼,心里就有数了。

C++开发环境与工具链 Linux开发环境 GCC/G++编译器 CMake构建系统 VSCode / CLion Ubuntu 20.04/22.04 LTS WSL2 / 双系统 build-essential + gdb 编译选项:-Wall -O2 -g C++标准:-std=c++17/20 调试/发布模式区分 CMakeLists.txt 编写 out-of-source构建 多目录项目组织 VSCode + 插件 CLion + Toolchains 调试器对比选择 环境搭好 → 编译通过 → 调试顺畅 → 高效开发

这张图把四个核心模块串起来了。你从Linux环境出发,装好GCC/G++,用CMake管理项目,最后用IDE写代码调试。每一步都踩实了,后面写代码才不慌。

最后说一句:环境配置这东西,一次搞定,终身受益。别嫌麻烦,花半天时间把环境搭好,后面省下的时间是以周计算的。

可可精品资料库