开始使用 Linux 上的 CMake Tools
CMake 是一个开源的、跨平台的工具,它使用与编译器和平台无关的配置文件来生成特定于你的编译器和平台的本地构建工具文件。
CMake Tools 扩展集成了 Visual Studio Code 和 CMake,可以轻松配置、构建和调试你的 C++ 项目。
在本教程中,你将在 Linux 上使用 Visual Studio Code 的 CMake Tools 扩展来配置、构建和调试一个简单的 C++ CMake 项目。除了安装 CMake、编译器、调试器和构建工具之外,本教程中的步骤通常也适用于你在其他平台(如 Windows)上使用 CMake 的方式。
如果你在过程中遇到任何问题,请在 VS Code 文档存储库 中为此教程提交一个 issue。此外,有关 CMake Tools 的一般信息,请参阅 CMake Tools for Visual Studio Code 文档。
先决条件
要在 Ubuntu 上完成本教程,请安装以下内容
-
适用于 VS Code 的 C++ 扩展。通过在“**扩展**”视图中搜索“c++”来安装 C/C++ 扩展(⇧⌘X (Windows, Linux Ctrl+Shift+X))。

-
适用于 VS Code 的 CMake Tools 扩展。通过在“**扩展**”视图中搜索“CMake tools”来安装 CMake Tools 扩展(⇧⌘X (Windows, Linux Ctrl+Shift+X))。

-
你还需要安装 CMake、编译器、调试器和构建工具。
视频:什么是构建系统?如何将 CMake 添加到你的项目中?
观看此视频以了解构建系统何时能帮助你以及如何为你的项目设置 CMake,或者遵循以下各节中的步骤。
确保已安装 CMake
VS Code CMake Tools 扩展通过使用你系统上安装的 CMake 来完成工作。为了获得最佳结果,请使用 CMake 版本 3.27 或更高版本。
检查你的系统上是否已安装 CMake。打开终端窗口并输入以下命令
cmake --version
要安装 CMake,或者在你至少没有 3.27 版本的情况下获取更高版本,请参阅 Kitware APT Repository 上的平台说明。安装 3.27 或更高版本。
确保已安装开发工具
虽然你将使用 VS Code 来编辑源代码,但你将使用系统中安装的编译器、调试器和构建工具(例如 make)来编译和调试源代码。
在本教程的 Ubuntu 部分,我们将使用 GCC 编译器、GDB 进行调试,并使用 make 来构建项目。这些工具默认未在 Ubuntu 上安装,因此你需要安装它们。幸运的是,这很容易。
检查 GCC 是否已安装
要查看你的系统上是否已安装 GCC,请打开终端窗口并输入以下命令
gcc -v
如果未安装 GCC,请从终端窗口运行以下命令来更新 Ubuntu 包列表。过时的 Linux 发行版可能会干扰获取最新软件包。
sudo apt-get update
接下来,使用此命令安装 GNU 编译器、make 和 GDB 调试器
sudo apt-get install build-essential gdb
创建 CMake 项目
如果你没有现有的 CMake 项目,请按照 创建 CMake 项目 中的步骤进行操作。
如果你已经有一个 CMake 项目,并且在根目录下有一个 CMakeLists.txt 文件,请继续执行 配置 Hello World 来配置你的项目。
配置 Hello World
在使用 CMake Tools 扩展构建项目之前,你需要对其进行配置,以便了解你系统上的编译器。在 VS Code 中配置 CMake 有两种方法
- 使用 CMake Presets(推荐)
- 使用 CMake Kits/Variants
使用 CMake Presets 进行配置
我们建议使用 CMake Presets 来管理你的 CMake 配置。CMake Presets 使你能够指定一个通用的 JSON 文件,其中存储了项目的所有配置。然后,你可以将此文件与他人共享,跨不同的 IDE 和跨不同的操作系统。
如果你按照 创建 CMake 项目 中的步骤创建了项目,则你的项目已配置为使用 CMake Presets。
如果你的项目有一个 CMakePresets.json 文件,你可以使用 Configure 和 Build presets 来指定如何在你的机器上构建项目。
你可以在 CMake Tools 视图下的“**配置**”和“**构建**”节点中的项目状态中查看 presets 的活动配置。你可以随时选择这些节点来设置或更改你的 Configure 和 Build presets。

你还可以通过在命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中运行 **CMake: Select Configure Preset** 或 **CMake: Select Build Preset** 命令来设置任何 presets。

使用 CMake Kits 进行配置
如果你的项目没有 CMakePresets.json 文件,你需要使用 kits。Kit 代表一个工具链,即用于构建项目的编译器、链接器和其他工具。
扫描 Kit
-
打开命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))并运行 **CMake: Select a Kit**。该扩展会自动扫描你计算机上的 Kit,并创建系统中找到的编译器列表。
-
选择要使用的编译器。例如,根据你安装的编译器,你可能会看到类似以下的选项

你之前选择的 Kit 现在显示在 CMake Tools 视图的项目状态部分。

要更改 Kit,你可以在 CMake Tools 视图的项目状态部分选择 Kit,或者再次从命令面板运行 **CMake: Select a Kit** 命令。如果你找不到想要的编译器,可以编辑项目中的 cmake-tools-kits.json 文件。要编辑该文件,请打开命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))并运行 **CMake: Edit User-Local CMake Kits** 命令。
然后,你需要选择一个 Variant。
Variant 包含有关如何构建项目的说明。默认情况下,CMake Tools 扩展提供四种 Variants,每种都对应一个默认的构建类型:Debug、Release、MinRelSize 和 RelWithDebInfo。这些选项执行以下操作
Debug:禁用优化并包含调试信息。Release:包含优化但不包含调试信息。MinRelSize:针对大小进行优化。不包含调试信息。RelWithDebInfo:针对速度进行优化并包含调试信息。
要选择 Variant,请打开命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P)),然后运行 **CMake: Select Variant** 命令。

选择 **Debug** 以包含构建的调试信息。

所选的 Variant 将显示在状态栏中,位于活动 Kit 旁边。
CMake: Configure
现在你已经通过 presets 或 kits/variants 选择了配置设置,请打开命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))并运行 **CMake: Configure** 命令来配置你的项目。这将使用你选择的配置在项目的构建文件夹中生成构建文件。
构建 hello world
配置完项目后,就可以构建了。打开命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))并运行 **CMake: Build** 命令,或者从状态栏选择 **Build** 按钮。

你可以通过从命令面板选择 **CMake: Set Build Target** 来选择要构建的目标。默认情况下,CMake Tools 会构建所有目标。所选目标将显示在 CMake Tools 侧边栏的项目状态视图的 **Build** 节点下,也可以从那里设置。

调试 hello world
要运行和调试你的项目,请打开 main.cpp 并在 std::cout 行上设置一个断点。然后打开命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))并运行 **CMake: Debug**。调试器将在 std::cout 行上停止。

请按 F5 继续。
至此,你已经使用 VS Code CMake Tools 扩展在 Ubuntu 上使用 CMake 构建和调试了 C++ 应用程序。步骤与其他平台相同;不同之处在于你如何为你选择的平台安装 CMake 和编译器/调试器。有关为其他平台设置编译器/调试器的说明,请参阅以下内容
后续步骤
- 探索 CMake Tools 文档
- 查看 C++ 扩展概述