在 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++ 擴充功能。透過在擴充功能檢視中搜尋 'c++' 來安裝 C/C++ 擴充功能 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。
-
VS Code 的 CMake Tools 擴充功能。透過在擴充功能檢視中搜尋 '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 專案中的步驟進行。
如果您已經有現有的 CMake 專案,且根目錄中有 CMakeLists.txt
檔案,請繼續設定 Hello World以設定您的專案。
設定 Hello World
在您可以使用 CMake Tools 擴充功能來建置專案之前,您需要設定它以瞭解系統上的編譯器。在 VS Code 中設定 CMake 有兩種方式
- 使用 CMake 預設集 (建議)
- 使用 CMake 套件/變體
使用 CMake 預設集進行設定
我們建議使用 CMake 預設集來管理您的 CMake 組態。CMake 預設集可讓您指定常見的 JSON 檔案,您可以在其中儲存專案的所有組態。然後,您可以跨不同的 IDE 和不同的作業系統與其他人共用此檔案。
如果您依照建立 CMake 專案中的步驟建立專案,則您的專案已設定為使用 CMake 預設集。
如果您的專案有 CMakePresets.json
檔案,您可以使用「設定」和「建置」預設集來指定如何在您的機器上建置專案。
您可以在 CMake Tools 檢視的「專案狀態」中的設定和建置節點下,檢視預設集的活動組態。您可以隨時選取這些節點來設定或變更您的「設定」和「建置」預設集。
您也可以透過在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中執行 CMake: 選取設定預設集或 CMake: 選取建置預設集命令來設定任何預設集。
使用 CMake 套件進行設定
如果您的專案沒有 CMakePresets.json
檔案,則需要使用套件。套件代表工具鏈,也就是用來建置專案的編譯器、連結器和其他工具。
掃描套件
-
開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 選取套件。擴充功能會自動掃描您電腦上的套件,並建立系統上找到的編譯器清單。
-
選取您想要使用的編譯器。例如,根據您安裝的編譯器,您可能會看到類似這樣的內容
您先前選取的套件現在會顯示在 CMake Tools 檢視的專案狀態區段中。
若要變更套件,您可以選取 CMake Tools 檢視的專案狀態區段中的套件,或再次從命令面板執行 CMake: 選取套件命令。如果您沒有看到您要尋找的編譯器,您可以編輯專案中的 cmake-tools-kits.json
檔案。若要編輯檔案,請開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 編輯使用者本機 CMake 套件命令。
然後,您需要選取變體。
變體包含有關如何建置專案的指示。依預設,CMake Tools 擴充功能提供四種變體,每種變體都對應於預設的建置類型:Debug
、Release
、MinRelSize
和 RelWithDebInfo
。這些選項執行下列動作
Debug
:停用最佳化並包含偵錯資訊。Release
:包含最佳化但不包含偵錯資訊。MinRelSize
:針對大小進行最佳化。不包含偵錯資訊。RelWithDebInfo
:針對速度進行最佳化並包含偵錯資訊。
若要選取變體,請開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行 CMake: 選取變體命令。
選取Debug以在您的建置中包含偵錯資訊。
選取的變體將會出現在狀態列中,位於活動套件旁邊。
CMake:設定
現在您已透過預設集或套件/變體選取了組態設定,請開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 設定命令來設定您的專案。這會使用您選取的組態在專案的建置資料夾中產生建置檔案。
建置 Hello World
設定專案後,您就可以開始建置了。開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 建置命令,或從狀態列選取建置按鈕。
您可以透過從命令面板選取 CMake: 設定建置目標來選取您想要建置的目標。依預設,CMake Tools 會建置所有目標。選取的目標將會出現在 CMake Tools 側邊欄的專案狀態檢視中的建置節點下方,也可以從該處進行設定。
偵錯 Hello World
若要執行和偵錯您的專案,請開啟 main.cpp
並在 std::cout
行上放置中斷點。然後開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 偵錯。偵錯工具將會在 std::cout
行上停止
繼續並按下 F5 以繼續。
您現在已使用 VS Code CMake Tools 擴充功能來使用 CMake 在 Ubuntu 上建置和偵錯 C++ 應用程式。其他平台的步驟相同;不同之處在於您如何為您選擇的平台安裝 CMake 和編譯器/偵錯工具。如需設定其他平台的編譯器/偵錯工具的指示,請參閱下列內容
後續步驟
- 探索 CMake Tools 文件
- 檢閱 C++ 擴充功能概觀