开始使用 Linux 上的 CMake 工具
CMake 是一款开源的跨平台工具,利用编译器和平台无关的配置文件生成针对你的编译器和平台的原生构建工具文件。
CMake 工具扩展集成了 Visual Studio Code 和 CMake,使配置、构建和调试 C++ 项目变得简单。
在本教程中,你将使用 Visual Studio Code 的 CMake 工具扩展,在 Linux 上配置、构建和调试一个简单的 C++ CMake 项目。除了安装 CMake、编译器、调试器和构建工具外,这个教程的步骤大致适用于你在其他平台(如 Windows)上使用 CMake 的方法。
如果遇到任何问题,请在VS Code文档仓库提交本教程的问题。此外,关于 CMake 工具的更多信息,请参阅 Visual Studio Code 的 CMake 工具文档
前提条件
要完成Ubuntu上的教程,请安装以下内容:
-
VS Code 的 C++ 扩展。通过在扩展视图中搜索“c++”(⇧⌘X(Windows,Linux Ctrl+Shift+X))来安装C/C++扩展。

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

-
你还需要安装CMake、编译器、调试器和构建工具。
视频:什么是构建系统?你如何将CMake添加到你的项目中?
观看此视频,了解构建系统何时能帮助你,以及如何为你的项目设置CMake,或按照以下章节的步骤作。
确保安装了 CMake
VS Code CMake 工具扩展通过安装在你系统上的 CMake 来实现其工作。为了获得最佳效果,建议使用CMake 3.27或更高版本。
看看你的系统里是否已经安装了CMake。打开终端窗口并输入以下命令:
cmake --version
要安装 CMake,或者如果你没有至少 3.27 版本,想下载更高版本,请参见 Kitware APT Repository 上你平台的说明。安装3.27或更高版本。
确保开发工具已安装
虽然你会用VS Code来编辑源代码,但你会用编译器、调试器和构建工具(比如制造安装在你的系统上。
在这个Ubuntu教程中,我们将使用GCC编译器、GDB进行调试,以及制造去建设这个项目。这些工具在Ubuntu上默认不安装,所以你需要安装它们。幸运的是,这很简单。
检查是否安装了GCC
要查看GCC是否已经安装在你的系统上,请打开终端窗口并输入以下命令:
gcc -v
如果没有安装GCC,可以在终端窗口执行以下命令来更新Ubuntu包列表。过时的Linux发行版可能会干扰获取最新软件包。
sudo apt-get update
接下来,安装GNU编译器,制造以及带有以下命令的GDB调试器:
sudo apt-get install build-essential gdb
创建一个CMake项目
如果你没有现有的CMake项目,请按照创建CMake项目的步骤作。
如果你已经有一个已有的CMake项目,并且有CMakeLists.txt根目录中的文件,继续配置 Hello World 以配置你的项目。
配置Hello World
在你使用 CMake 工具扩展构建项目之前,你需要先配置它,以便了解系统中的编译器。在VS Code中配置CMake有两种方式:
- 使用 CMake 预设(推荐)
- 使用CMake套件/变体
使用 CMake 预设配置
我们建议使用 CMake 预设来管理你的 CMake 配置。CMake Presets 允许你指定一个通用的 JSON 文件,用于存储项目的所有配置。然后你可以在不同的IDE和作系统之间与他人共享这个文件。
如果你按照创建 CMake 项目的步骤创建了项目,你的项目已经配置为使用 CMake 预设。
如果你的项目有CMakePresets.json你可以使用配置和构建预设来指定如何在你的机器上构建项目。
你可以在CMake工具视图的配置和构建节点下的项目状态中查看预设的活跃配置。你可以随时选择这些节点来设置或更改配置和构建预设。

你也可以通过在命令面板中运行 CMake:选择配置预设或 CMake:选择构建预设命令(Windows,Linux Ctrl+Shift+P )来设置任意预设。

使用 CMake 套件进行配置
如果你的项目没有CMakePresets.json文件,你需要使用套件。套件代表一个工具链,即编译器、链接器以及用于构建项目的其他工具。
扫描套件:
-
打开命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P)),运行 CMake:选择套件。该扩展会自动扫描你电脑上的套件,并生成系统中编译器的列表。
-
选择你想使用的编译器。例如,根据你安装的编译器,你可能会看到类似这样的情况:

您之前选择的套件现在显示在CMake工具视图的项目状态部分。

要更改套件,可以在CMake工具视图的项目状态部分选择套件,或在命令面板中再次执行CMake:选择套件命令。如果你找不到想要的编译器,可以编辑cmake-tools-kits.json归档到你的项目里。要编辑文件,打开命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P)),并运行 CMake: Edit User-Local CMake Kits 命令。
然后,你需要选择一个变体。
变体包含如何构建项目的说明。默认情况下,CMake 工具扩展提供四个变体,每个版本对应默认构建类型:调试,发行,最小分辨率, 和与DebInfo共鸣.这些选项可以实现以下功能:
调试: 禁用优化并包含调试信息。发行:包含优化,但没有调试信息。最小分辨率:针对尺寸进行优化。没有调试信息。与DebInfo共鸣:优化速度并包含调试信息。
要选择变体,打开命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P)),运行 CMake: Select Variant 命令。

选择调试,将调试信息随你的构建一起加入。

所选变体会出现在当前技能组旁边的状态栏中。
CMake:配置
现在你已经通过预设或套件/变体选好了配置设置,打开命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P)),运行CMake: 配置命令来配置你的项目。它会在项目的构建文件夹中生成构建文件,使用你选择的配置。
构建Hello World
配置好项目后,你就可以开始构建了。打开命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P)),运行 CMake: Build 命令,或从状态栏选择 Build 按钮。

你可以通过在指令面板中选择“CMake: Set Build Target”来选择想要建造的目标。默认情况下,CMake Tools 负责构建所有目标。所选目标会显示在CMake工具侧边栏的“构建”节点下方的项目状态视图中,也可以在那里设置。

调试hello world
要运行和调试你的项目,打开main.cpp并且在STD::Cout排队。
然后打开命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P)),运行CMake:调试。调试器会在STD::Cout台词:

请按F5继续。
你现在已经用 VS Code CMake 工具扩展在 Ubuntu 上构建和调试了 C++ 应用。其他站台的台阶也相同;区别在于你如何安装 CMake,以及你选择的平台的编译器/调试器。关于为其他平台设置编译器/调试器的说明,请参见以下内容: