🚀 在 VS Code 中免費取得

在 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 上完成本教學課程,請安裝下列項目

  1. Visual Studio Code.

  2. 適用於 VS Code 的 C++ 擴充功能。透過在 [擴充功能] 檢視中搜尋 'c++' 來安裝 C/C++ 擴充功能 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。

    C/C++ extension

  3. 適用於 VS Code 的 CMake 工具擴充功能。透過在 [擴充功能] 檢視中搜尋 'CMake tools' 來安裝 CMake 工具擴充功能 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。

    CMake tools extension

  4. 您還需要安裝 CMake、編譯器、偵錯工具和建置工具。

影片:什麼是建置系統?您如何將 CMake 新增至專案?

觀看此影片以瞭解建置系統何時對您有幫助,以及如何為您的專案設定 CMake,或依照下列章節中的步驟進行。

確保已安裝 CMake

VS Code CMake 工具擴充功能透過使用您系統上安裝的 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 專案中的步驟進行。

如果您已經有現有的 CMake 專案,且根目錄中有 CMakeLists.txt 檔案,請繼續進行設定 Hello World 以設定您的專案。

設定 Hello World

在您可以使用 CMake 工具擴充功能來建置專案之前,您需要先設定它以瞭解您系統上的編譯器。在 VS Code 中設定 CMake 有兩種方式

  • 使用 CMake 預設集 (建議)
  • 使用 CMake 套件/變體

使用 CMake 預設集進行設定

我們建議使用 CMake 預設集來管理您的 CMake 組態。CMake 預設集可讓您指定通用的 JSON 檔案,您可以在其中儲存專案的所有組態。然後,您可以跨不同的 IDE 和不同的作業系統,與其他人共用此檔案。

如果您依照建立 CMake 專案中的步驟建立專案,則您的專案已設定為使用 CMake 預設集。

如果您的專案具有 CMakePresets.json 檔案,您可以使用 [設定] 和 [建置] 預設集來指定如何在您的電腦上建置專案。

您可以在 CMake 工具檢視中的 [專案狀態] 下方的 [設定] 和 [建置] 節點中,檢視預設集的現用組態。您可以隨時選取這些節點來設定或變更您的 [設定] 和 [建置] 預設集。

CMake Side Panel with presets

您也可以透過在 [命令面板] 中執行 [CMake: 選取設定預設集] 或 [CMake: 選取建置預設集] 命令來設定任何預設集 (⇧⌘P (Windows、Linux Ctrl+Shift+P))。

CMake Select presets

使用 CMake 套件進行設定

如果您的專案沒有 CMakePresets.json 檔案,您需要使用套件。套件代表工具鏈,也就是用於建置專案的編譯器、連結器和其他工具。

掃描套件

  1. 開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 選取套件]。擴充功能會自動掃描您電腦上的套件,並建立系統上找到的編譯器清單。

  2. 選取您要使用的編譯器。例如,根據您已安裝的編譯器,您可能會看到類似

    Select the kit

    您先前選取的套件現在會顯示在 CMake 工具檢視中的 [專案狀態] 區段。

    Selected kit in Sidebar

若要變更套件,您可以選取 CMake 工具檢視中 [專案狀態] 區段中的套件,或再次從 [命令面板] 執行 [CMake: 選取套件] 命令。如果您沒有看到您要尋找的編譯器,您可以編輯專案中的 cmake-tools-kits.json 檔案。若要編輯檔案,請開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 編輯使用者本機 CMake 套件] 命令。

接著,您需要選取變體。

變體包含如何建置專案的指示。根據預設,CMake 工具擴充功能提供四個變體,每個變體對應至預設建置類型:DebugReleaseMinRelSizeRelWithDebInfo。這些選項執行下列動作

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

若要選取變體,請開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 選取變體] 命令。

Select variant

選取 [偵錯] 以在您的建置中包含偵錯資訊。

Select debug variant type

選取的變體將會顯示在狀態列中,位於現用套件旁邊。

CMake: 設定

現在您已透過預設集或套件/變體選取組態設定,請開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 設定] 命令以設定您的專案。這會在專案的建置資料夾中使用您選取的組態來產生建置檔案。

建置 Hello World

設定專案之後,您就可以開始建置。開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 建置] 命令,或從狀態列選取 [建置] 按鈕。

Build

您可以從 [命令面板] 選取 [CMake: 設定建置目標] 來選取您想要建置的目標。根據預設,CMake 工具會建置所有目標。選取的目標將會顯示在 CMake 工具側邊欄中 [專案狀態] 檢視的 [建置] 節點下方,也可以從該處進行設定。

Build Target

偵錯 Hello World

若要執行和偵錯您的專案,請開啟 main.cpp 並在 std::cout 行上放置中斷點。然後開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 偵錯]。偵錯工具將會在 std::cout 行上停止

Debug

繼續並按下 F5

您現在已使用 VS Code CMake 工具擴充功能來使用 CMake 在 Ubuntu 上建置及偵錯 C++ 應用程式。這些步驟在其他平台上相同;不同之處在於您如何為您選擇的平台安裝 CMake 和編譯器/偵錯工具。如需設定其他平台編譯器/偵錯工具的指示,請參閱下列內容

後續步驟