在 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++ 擴充功能。請在延伸模組 (Extensions) 檢視中搜尋「c++」來安裝 C/C++ 擴充功能 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。

-
適用於 VS Code 的 CMake Tools 擴充功能。請在延伸模組 (Extensions) 檢視中搜尋「CMake tools」來安裝 CMake Tools 擴充功能 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。

-
您還需要安裝 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 Presets(推薦)
- 使用 CMake Kits/Variants
使用 CMake Presets 進行設定
我們建議使用 CMake Presets 來管理您的 CMake 設定。CMake Presets 可讓您指定一個通用的 JSON 檔案,將專案的所有設定儲存在其中。之後,您就可以與他人共享此檔案,跨不同的 IDE 以及跨不同的作業系統使用。
如果您是依照建立 CMake 專案中的步驟建立專案,則您的專案已經設定為使用 CMake Presets。
如果您的專案有 CMakePresets.json 檔案,您可以使用「設定 (Configure)」與「建置 (Build)」預設集來指定如何在您的機器上建置專案。
您可以在 CMake Tools 檢視的「專案狀態 (Project Status)」中,於設定 (Configure) 和 建置 (Build) 節點下查看目前作用中的預設集設定。您可以隨時選取這些節點來設定或更改您的設定與建置預設集。

您也可以透過在指令選擇區 (Command Palette) 中執行 CMake: Select Configure Preset 或 CMake: Select Build Preset 指令來設定任何預設集 (⇧⌘P (Windows、Linux Ctrl+Shift+P))。

使用 CMake Kits 進行設定
如果您的專案沒有 CMakePresets.json 檔案,則需要使用 Kits。Kit 代表一個工具鏈 (Toolchain),也就是用於建置專案的編譯器、連結器和其他工具。
掃描 Kits
-
開啟指令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: Select a Kit。擴充功能會自動掃描您電腦上的 Kits,並建立一份系統中找到的編譯器清單。
-
選取您想要使用的編譯器。例如,根據您安裝的編譯器,您可能會看到類似以下的內容:

您剛才選取的 Kit 現在會顯示在 CMake Tools 檢視的專案狀態 (Project Status) 區段中。

若要更改 Kit,您可以在 CMake Tools 檢視的專案狀態 (Project Status) 區段中選取它,或再次從指令選擇區執行 CMake: Select a Kit 指令。如果您沒看到您要找的編譯器,可以編輯專案中的 cmake-tools-kits.json 檔案。若要編輯該檔案,請開啟指令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: Edit User-Local CMake Kits 指令。
接著,您需要選取一個 Variant(變體)。
Variant 包含如何建置專案的說明。CMake Tools 擴充功能預設提供四種 Variant,分別對應預設的建置類型:Debug、Release、MinRelSize 和 RelWithDebInfo。這些選項的作用如下:
Debug:停用最佳化並包含偵錯資訊。Release:包含最佳化,但不含偵錯資訊。MinRelSize:針對大小進行最佳化。不含偵錯資訊。RelWithDebInfo:針對速度進行最佳化並包含偵錯資訊。
若要選取 Variant,請開啟指令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: Select Variant 指令。

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

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

您可以透過在指令選擇區中選取 CMake: Set Build Target 來選擇要建置的目標。預設情況下,CMake Tools 會建置所有目標。所選的目標會出現在 CMake Tools 側邊欄專案狀態 (Project Status) 檢視的 Build 節點下方,並可從該處進行設定。

偵錯 Hello World
若要執行並偵錯您的專案,請開啟 main.cpp 檔案,並在 std::cout 行上放置中斷點。接著開啟指令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: Debug。偵錯工具將會在 std::cout 行上停止。

請按下 F5 繼續。
您現在已成功使用 VS Code CMake Tools 擴充功能,在 Ubuntu 上透過 CMake 建置並偵錯一個 C++ 應用程式。這些步驟同樣適用於其他平台;差別在於如何為您選擇的平台安裝 CMake 和編譯器/偵錯工具。如需針對其他平台設定編譯器/偵錯工具的說明,請參閱下列內容:
後續步驟
- 瀏覽 CMake Tools 文件
- 檢閱 C++ 擴充功能概觀