現已釋出!閱讀關於 11 月新增功能和修復的內容。

開始使用 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 上完成本教程,請安裝以下內容

  1. Visual Studio Code.

  2. 適用於 VS Code 的 C++ 擴充套件。透過在“**擴充套件**”檢視中搜索“c++”來安裝 C/C++ 擴充套件(⇧⌘X (Windows, Linux Ctrl+Shift+X))。

    C/C++ extension

  3. 適用於 VS Code 的 CMake Tools 擴充套件。透過在“**擴充套件**”檢視中搜索“CMake tools”來安裝 CMake Tools 擴充套件(⇧⌘X (Windows, Linux Ctrl+Shift+X))。

    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 專案 中的步驟進行操作。

如果你已經有一個 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。

CMake Side Panel with presets

你還可以透過在命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中執行 **CMake: Select Configure Preset** 或 **CMake: Select Build Preset** 命令來設定任何 presets。

CMake Select presets

使用 CMake Kits 進行配置

如果你的專案沒有 CMakePresets.json 檔案,你需要使用 kits。Kit 代表一個工具鏈,即用於構建專案的編譯器、連結器和其他工具。

掃描 Kit

  1. 開啟命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))並執行 **CMake: Select a Kit**。該擴充套件會自動掃描你計算機上的 Kit,並建立系統中找到的編譯器列表。

  2. 選擇要使用的編譯器。例如,根據你安裝的編譯器,你可能會看到類似以下的選項

    Select the kit

    你之前選擇的 Kit 現在顯示在 CMake Tools 檢視的專案狀態部分。

    Selected kit in Sidebar

要更改 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,每種都對應一個預設的構建型別:DebugReleaseMinRelSizeRelWithDebInfo。這些選項執行以下操作

Debug:停用最佳化幷包含除錯資訊。Release:包含最佳化但不包含除錯資訊。MinRelSize:針對大小進行最佳化。不包含除錯資訊。RelWithDebInfo:針對速度進行最佳化幷包含除錯資訊。

要選擇 Variant,請開啟命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P)),然後執行 **CMake: Select Variant** 命令。

Select variant

選擇 **Debug** 以包含構建的除錯資訊。

Select debug variant type

所選的 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** 按鈕。

Build

你可以透過從命令面板選擇 **CMake: Set Build Target** 來選擇要構建的目標。預設情況下,CMake Tools 會構建所有目標。所選目標將顯示在 CMake Tools 側邊欄的專案狀態檢視的 **Build** 節點下,也可以從那裡設定。

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 和編譯器/偵錯程式。有關為其他平臺設定編譯器/偵錯程式的說明,請參閱以下內容

後續步驟

© . This site is unofficial and not affiliated with Microsoft.