在 Linux 上使用 CMake Tools 入门
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 上完成本教程,请安装以下内容
-
VS Code 的 C++ 扩展。通过在**扩展**视图(⇧⌘X(Windows、Linux Ctrl+Shift+X))中搜索“c++”来安装 C/C++ 扩展。
-
VS Code 的 CMake Tools 扩展。通过在**扩展**视图(⇧⌘X(Windows、Linux Ctrl+Shift+X))中搜索“CMake tools”来安装 CMake Tools 扩展。
-
您还需要安装 CMake、编译器、调试器和构建工具。
视频:什么是构建系统?如何将 CMake 添加到您的项目?
观看此视频以了解何时构建系统会对您有所帮助以及如何为您的项目设置 CMake,或者按照以下部分中的步骤进行操作。
确保已安装 CMake
VS Code CMake Tools 扩展通过使用您系统上安装的 CMake 来完成其工作。为了获得最佳效果,请使用 CMake 3.27 或更高版本。
查看您的系统上是否已安装 CMake。打开一个终端窗口并输入以下命令
cmake --version
要安装 CMake,或者如果您没有至少 3.27 版本,则要获取更高版本,请参阅 Kitware APT 存储库 中有关您平台的说明。安装 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 工具包/变体
使用 CMake 预设进行配置
我们建议使用 CMake 预设来管理您的 CMake 配置。CMake 预设使您能够指定一个通用的 JSON 文件,您可以在其中存储项目的全部配置。然后,您可以与他人共享此文件,并在不同的 IDE 和不同的操作系统之间共享此文件。
如果您按照 创建 CMake 项目 中的步骤创建了项目,则您的项目已配置为使用 CMake 预设。
如果您的项目包含CMakePresets.json
文件,则可以使用配置和构建预设来指定如何在您的机器上构建项目。
您可以在 CMake Tools 视图中的项目状态中,在**配置**和**构建**节点下查看预设的活动配置。您可以随时选择这些节点来设置或更改您的配置和构建预设。
您还可以通过在命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))中运行**CMake:选择配置预设**或**CMake:选择构建预设**命令来设置任何预设。
使用 CMake 工具包进行配置
如果您的项目没有CMakePresets.json
文件,则您需要使用工具包。工具包代表一个工具链,即用于构建项目的编译器、链接器和其他工具。
要扫描工具包
-
打开命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))并运行**CMake:选择工具包**。扩展将自动扫描您的计算机上的工具包,并创建您系统上找到的编译器的列表。
-
选择要使用的编译器。例如,根据您安装的编译器,您可能会看到类似以下内容
您之前选择的工具包现在将显示在 CMake Tools 视图中的**项目状态**部分中。
要更改工具包,您可以选择 CMake Tools 视图中**项目状态**部分中的工具包,或者再次从命令面板运行**CMake:选择工具包**命令。如果您没有看到您要查找的编译器,则可以编辑项目中的cmake-tools-kits.json
文件。要编辑文件,请打开命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))并运行**CMake:编辑用户本地 CMake 工具包**命令。
然后,您需要选择一个变体。
一个变体包含有关如何构建项目的说明。默认情况下,CMake Tools 扩展提供四个变体,每个变体对应一个默认的构建类型:Debug
、Release
、MinRelSize
和 RelWithDebInfo
。这些选项执行以下操作
Debug
:禁用优化并包含调试信息。Release
:包含优化但不包含调试信息。MinRelSize
:针对大小进行优化。不包含调试信息。RelWithDebInfo
:针对速度进行优化并包含调试信息。
要选择变体,请打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并运行 **CMake: 选择变体** 命令。
选择 **Debug** 以在构建中包含调试信息。
所选变体将显示在状态栏中,位于活动工具包旁边。
CMake: 配置
现在您已通过预设或工具包/变体选择配置设置,请打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并运行 **CMake: 配置** 命令以配置您的项目。这将使用您选择的配置在项目的构建文件夹中生成构建文件。
构建 hello world
配置项目后,您就可以构建了。打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并运行 **CMake: 构建** 命令,或者从状态栏中选择 **构建** 按钮。
您可以从命令面板中选择 **CMake: 设置构建目标** 来选择要构建的目标。默认情况下,CMake Tools 会构建所有目标。所选目标将显示在 CMake Tools 侧边栏的 **项目状态** 视图中的 **构建** 节点下方,也可以从那里设置。
调试 hello world
要运行和调试您的项目,请打开 main.cpp
并将断点放在 std::cout
行上。然后打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并运行 **CMake: 调试**。调试器将在 std::cout
行上停止。
继续执行,请按 F5。
您现在已使用 VS Code CMake Tools 扩展使用 CMake 在 Ubuntu 上构建和调试 C++ 应用程序。其他平台上的步骤相同;区别在于您如何安装 CMake 以及您选择的平台的编译器/调试器。有关在其他平台上设置编译器/调试器的说明,请参阅以下内容
后续步骤
- 探索 CMake Tools 文档
- 查看 C++ 扩展概述