在 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++' 來安裝 C/C++ 擴充功能 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。
-
適用於 VS Code 的 CMake 工具擴充功能。透過在 [擴充功能] 檢視中搜尋 'CMake tools' 來安裝 CMake 工具擴充功能 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。
-
您還需要安裝 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: 選取設定預設集] 或 [CMake: 選取建置預設集] 命令來設定任何預設集 (⇧⌘P (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: 編輯使用者本機 CMake 套件] 命令。
接著,您需要選取變體。
變體包含如何建置專案的指示。根據預設,CMake 工具擴充功能提供四個變體,每個變體對應至預設建置類型:Debug
、Release
、MinRelSize
和 RelWithDebInfo
。這些選項執行下列動作
Debug
:停用最佳化並包含偵錯資訊。Release
:包含最佳化但不包含偵錯資訊。MinRelSize
:針對大小進行最佳化。不包含偵錯資訊。RelWithDebInfo
:針對速度進行最佳化並包含偵錯資訊。
若要選取變體,請開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 選取變體] 命令。
選取 [偵錯] 以在您的建置中包含偵錯資訊。
選取的變體將會顯示在狀態列中,位於現用套件旁邊。
CMake: 設定
現在您已透過預設集或套件/變體選取組態設定,請開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 設定] 命令以設定您的專案。這會在專案的建置資料夾中使用您選取的組態來產生建置檔案。
建置 Hello World
設定專案之後,您就可以開始建置。開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 建置] 命令,或從狀態列選取 [建置] 按鈕。
您可以從 [命令面板] 選取 [CMake: 設定建置目標] 來選取您想要建置的目標。根據預設,CMake 工具會建置所有目標。選取的目標將會顯示在 CMake 工具側邊欄中 [專案狀態] 檢視的 [建置] 節點下方,也可以從該處進行設定。
偵錯 Hello World
若要執行和偵錯您的專案,請開啟 main.cpp
並在 std::cout
行上放置中斷點。然後開啟 [命令面板] (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 [CMake: 偵錯]。偵錯工具將會在 std::cout
行上停止
繼續並按下 F5。
您現在已使用 VS Code CMake 工具擴充功能來使用 CMake 在 Ubuntu 上建置及偵錯 C++ 應用程式。這些步驟在其他平台上相同;不同之處在於您如何為您選擇的平台安裝 CMake 和編譯器/偵錯工具。如需設定其他平台編譯器/偵錯工具的指示,請參閱下列內容
後續步驟
- 探索 CMake 工具 文件
- 檢閱 C++ 擴充功能概觀