尝试以扩展 VS Code 中的代理模式!

Linux 版 CMake 工具入门

CMake 是一个开源、跨平台的工具,它使用独立于编译器和平台的配置文件,为你的编译器和平台生成原生的构建工具文件。

CMake Tools 扩展集成了 Visual Studio Code 和 CMake,使你可以轻松地配置、构建和调试 C++ 项目。

在本教程中,你将使用 Visual Studio Code 的 CMake Tools 扩展在 Linux 上配置、构建和调试一个简单的 C++ CMake 项目。除了安装 CMake、你的编译器、调试器和构建工具之外,本教程中的步骤通常适用于你在其他平台(如 Windows)上使用 CMake 的方式。

如果你遇到任何问题,请在VS Code 文档存储库中为本教程提交一个问题。此外,有关 CMake Tools 的更多信息,请参阅Visual Studio Code 的 CMake Tools 文档

先决条件

要在 Ubuntu 上完成本教程,请安装以下内容

  1. Visual Studio Code.

  2. 适用于 VS Code 的 C++ 扩展。通过在**扩展**视图 (⇧⌘X (Windows, Linux Ctrl+Shift+X)) 中搜索“c++”来安装 C/C++ 扩展。

    C/C++ extension

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

    CMake tools extension

  4. 你还需要安装 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 项目中的步骤进行操作。

如果你已经有一个在根目录中包含 `CMakeLists.txt` 文件的现有 CMake 项目,请继续到配置 Hello World以配置你的项目。

配置 Hello World

在使用 CMake Tools 扩展构建项目之前,你需要对其进行配置,使其了解你系统上的编译器。在 VS Code 中配置 CMake 有两种方法

  • 使用 CMake 预设(推荐)
  • 使用 CMake Kits/变体

使用 CMake 预设进行配置

我们建议使用 CMake 预设来管理你的 CMake 配置。CMake 预设使你能够指定一个通用的 JSON 文件,其中存储了你项目的所有配置。然后,你可以在不同的 IDE 和不同的操作系统之间与他人共享此文件。

如果你通过按照创建 CMake 项目中的步骤创建了一个项目,你的项目将配置为使用 CMake 预设。

如果你的项目有一个 `CMakePresets.json` 文件,你可以使用“配置”和“构建”预设来指定如何在你的机器上构建项目。

你可以在 CMake Tools 视图的“项目状态”下的**配置**和**构建**节点中查看预设的活动配置。你可以随时选择这些节点来设置或更改你的配置和构建预设。

CMake Side Panel with presets

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

CMake Select presets

使用 CMake Kits 进行配置

如果你的项目没有 `CMakePresets.json` 文件,你需要使用 kit。kit 表示一个工具链,即用于构建项目的编译器、链接器和其他工具。

要扫描 kit

  1. 打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并运行 **CMake: Select a Kit**。该扩展会自动扫描你计算机上的 kit 并创建你系统上找到的编译器列表。

  2. 选择你想使用的编译器。例如,根据你安装的编译器,你可能会看到类似以下内容

    Select the kit

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

    Selected kit in Sidebar

要更改套件,你可以在 CMake Tools 视图的**项目状态**部分中选择套件,或者再次从命令面板运行**CMake:选择套件**命令。如果你没有找到你正在寻找的编译器,你可以编辑项目中的 `cmake-tools-kits.json` 文件。要编辑文件,请打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并运行**CMake:编辑用户本地 CMake Kits**命令。

然后,你需要选择一个变体。

变体包含有关如何构建项目的说明。默认情况下,CMake Tools 扩展提供四种变体,每种都对应一种默认构建类型:`Debug`、`Release`、`MinRelSize` 和 `RelWithDebInfo`。这些选项执行以下操作

`Debug`:禁用优化并包含调试信息。`Release`:包含优化但不包含调试信息。`MinRelSize`:优化大小。不包含调试信息。`RelWithDebInfo`:优化速度并包含调试信息。

要选择变体,请打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并运行 **CMake: Select Variant** 命令。

Select variant

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

Select debug variant type

所选变体将显示在状态栏中活动工具包旁边。

CMake:配置

现在你已经通过预设或工具包/变体选择了配置设置,打开命令面板 (⇧⌘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 Target

调试 Hello World

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

Debug

继续按 F5 继续。

你现在已经使用 VS Code CMake Tools 扩展在 Ubuntu 上使用 CMake 构建和调试 C++ 应用程序。其他平台的步骤相同;不同之处在于你如何为你选择的平台安装 CMake 和编译器/调试器。有关为其他平台设置编译器/调试器的说明,请参阅以下内容

后续步骤