跳至內容

CMake

應用程式Kitware

亦稱為 cmake gui、kitware cmake

Kitware生產力

Kitware 的建置檔案產生器。cmake.exe 負責寫入 Visual Studio 或 Ninja 檔案。它不會取代 MSVC 或 rustc。

您需要瞭解的資訊

CMake 用於產生建置檔案。它不是編譯器。

來自 Kitware 的 cmake.exe 負責為 Visual Studio、Ninja 等工具寫入專案檔案。cl.exe 與 link.exe 仍來自 MSVC。rustc 與 go 則屬於不同語言。安裝 CMake 並不會安裝 Visual Studio。

它是什麼?
建置檔案產生器
它是編譯器嗎?
不是。您仍然需要 MSVC 或類似工具
可以取代 Visual Studio 嗎?
不能。它可以產生 .sln
Feex 指出
若 cmake.exe 完成設定但編譯失敗,我會檢查產生的建置器 (generator) 以及它找到的編譯器。我不會將 CMake 視為 MSVC。產生器並不等同於工具鏈。

什麼是 CMake?

CMake 是一套元建置系統 (meta-build system)。它能產生 Visual Studio 方案、Ninja 檔案等。它不是 cl.exe、不是 rustc,也不是 MSBuild 本身。

如果您從未用過它

如果 C++ 的 README 註明安裝 CMake,請自 cmake.org/download 取得。cmake.exe 負責產生建置檔案。它不是編譯器。您依然需要 MSVC、Ninja 或其他工具鏈。rustc.exe 與 go.exe 屬於不同語言。CMake 無法取代 devenv.exe。

它有什麼用途?

產生 Visual Studio 方案

cmake -G "Visual Studio 17 2022"。接著由 devenv.exe 開啟該 .sln。CMake 此時尚未進行編譯。

Ninja 與其他產生器

Ninja 搭配 MSVC 或 GCC。cargo 與 go 則擁有各自的建置圖 (build graph)。

預設設定檔 (Presets)

現代專案中的 CMakePresets.json。該檔案並非編譯器二進位檔。

它是為誰設計的?

  • 存放庫以 CMakeLists.txt 起始的 C 與 C++ 開發者
  • 安裝 CMake 後疑惑為何缺少 cl.exe 的人員
  • 以為 CMake 能取代 Visual Studio 的任何人

目前狀態

CMake (2000) 是 Kitware 推出的現新建置產生器。廠商目前仍引導 Windows 使用者前往 https://cmake.org/download/。

它的歷史有多久?

Kitware 於 2000 年發布 CMake 以因應龐大的 C++ 程式碼目錄樹。它比 Rust 和 Go 更悠久。現行的 3.x/4.x 版本為主要產品。僅針對 2.8 的教學課程可能會漏掉現代預設設定檔 (presets)。

版本

主要管道優先。確切的版本號在此並未全部經過驗證。

cmake.exe
cmake-gui.exe

系統需求

數值遵循發行者的公開指引。實際需求仍會隨工作負載而改變。

最低需求

最低系統需求
作業系統 依據 Kitware 規範,需為目前的 64 位元 Windows 10 或 Windows 11 版本
記憶體 (RAM) 產生器體積小巧。它所啟動的編譯過程才是負載繁重的步驟

資源概況

CPU 需求
跟隨您在應用程式內開啟的內容
RAM 需求
跟隨文件、分頁或資料庫

已安裝的處理程序

安裝本產品後,這些可執行檔即歸屬於本產品。

已安裝的處理程序
cmake.exe CMake 命令列產生器
cmake-gui.exe 選用之 CMake GUI

啟動元件

CMake 不會隨 Windows 啟動。您會在建置資料夾中執行它。

檔案位置

常見的 CMake 位置
典型安裝路徑 C:\Program Files\CMake\

檔案格式

CMakeLists.txtCMakePresets.json

常見問題

設定 (Configure) 成功,但編譯失敗

CMake 找到了產生器,但編譯器或 SDK 依然遺失。這是 MSVC 或 Windows SDK 的問題。

與已安裝的 VS 產生器不符

"Visual Studio 17 2022" 需要 VS 2022。CMake 無法無中生有建立 devenv.exe。

疑難排解

cmake --version 與 where.exe cmake

預期應為 Program Files\CMake\bin。虛擬環境中殘留的 cmake.exe 則是另一回事。

自 cmake.org/download 安裝

Kitware 託管官方 MSI。隨機編譯器 zip 中隨附的 CMake 套裝套件皆為垃圾軟體。

若需要 MSVC,請安裝 Visual Studio 或 Build Tools

Visual Studio 安裝程式會加入 cl.exe。隨後 CMake 即可偵測到它。

替代方案

Meson 與 Bazel 是其他元建置系統。VS 產生器通常以 MSBuild 為目標。CMake 依然是 C++ 最常見的統一入口。

官方說明與下載

請優先諮詢原廠。隨機出現的 exe 下載網站並非支援管道。

官方聯絡管道
下載 cmake.org/download/ 官方安裝程式或廠商頁面
說明 cmake.org/documentation/ 廠商支援
官方網站 cmake.org/ 請從此處開始,而非隨機的 exe 託管網站
CMake 文件 cmake.org/cmake/help/latest/ 命令與產生器

相關硬體

設定步驟相當輕量。您所產生的編譯工作才會耗費 CPU 與 RAM。

技術詳細資訊

技術詳細資訊

廠商版本號碼會變更。本文未限定特定組建。

來源與驗證

記錄的來源標籤:2026年8月。此標籤不代表獨立驗證。 我們的研究方式.

這篇文章實用嗎?

只要回答「是」或「否」即可。您也可以依意願選擇原因,或附上簡短說明。

這篇文章實用嗎?