在 Linux 上開始使用 CMake 工具
CMake 是一款開源、跨平臺的工具,它使用獨立於編譯器和平臺的配置檔案來生成特定於您的編譯器和平臺的本機生成工具檔案。
CMake 工具擴充套件集成了 Visual Studio Code 和 CMake,使配置、生成和除錯 C++ 專案變得容易。
在本教程中,你將使用適用於 Visual Studio Code 的 CMake 工具擴充套件在 Linux 上配置、生成和除錯一個簡單的 C++ CMake 專案。除了安裝 CMake、你的編譯器、偵錯程式和生成工具外,本教程中的步驟通常也適用於在其他平臺(如 Windows)上使用 CMake。
如果你遇到任何問題,請在 VS Code 文件儲存庫中為本教程提交一個 issue。此外,有關 CMake 工具的更多資訊,請參閱 適用於 Visual Studio Code 的 CMake 工具文件。
先決條件
要在 Ubuntu 上完成本教程,請安裝以下內容:
-
適用於 VS Code 的 C++ 擴充套件。在擴充套件檢視 (⇧⌘X (Windows、Linux Ctrl+Shift+X)) 中搜索“c++”來安裝 C/C++ 擴充套件。
-
適用於 VS Code 的 CMake 工具擴充套件。在擴充套件檢視 (⇧⌘X (Windows、Linux Ctrl+Shift+X)) 中搜索“CMake tools”來安裝 CMake 工具擴充套件。
-
你還需要安裝 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 工具檢視的“專案狀態”下的配置和生成節點中檢視預設的活動配置。你可以隨時選擇這些節點來設定或更改你的配置和生成預設。
你還可以透過在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中執行 CMake: 選擇配置預設或 CMake: 選擇生成預設命令來設定任何預設。
使用 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: 選擇變體命令。
選擇 Debug 以在你的生成中包含除錯資訊。
所選的變體將出現在狀態列中活動套件的旁邊。
CMake: 配置
現在你已經透過預設或套件/變體選擇了你的配置設定,請開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: Configure 命令來配置你的專案。這將使用你選擇的配置在專案的生成資料夾中生成生成檔案。
生成 hello world
配置完專案後,你就可以準備生成了。開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: Build 命令,或從狀態列選擇生成按鈕。
你可以透過從命令面板選擇 CMake: 設定生成目標來選擇你想要生成的目標。預設情況下,CMake 工具會生成所有目標。所選的目標將出現在 CMake 工具側邊欄的專案狀態檢視中的生成節點下,也可以從那裡進行設定。
除錯 hello world
要執行和除錯你的專案,請開啟 main.cpp
並在 std::cout
行上設定一個斷點。然後開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: Debug。偵錯程式將在 std::cout
行停止:
繼續並按 F5 以繼續。
你現在已經使用 VS Code CMake 工具擴充套件,在 Ubuntu 上透過 CMake 生成和除錯了一個 C++ 應用程式。對於其他平臺,步驟是相同的;區別在於你如何為你選擇的平臺安裝 CMake 和編譯器/偵錯程式。有關在其他平臺上設定編譯器/偵錯程式的說明,請參閱以下內容:
後續步驟
- 瀏覽 CMake 工具文件
- 檢視C++ 擴充套件概述