跳转至正文

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 完成了配置但编译失败,我会检查生成器及其找到的编译器。我不会将 CMake 视为 MSVC。生成器不是工具链。

什么是 CMake?

CMake 是一个元构建系统。它生成 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 拥有它们自己的构建图。

预设 (Presets)

当前项目中的 CMakePresets.json。该文件不是编译器二进制文件。

它适合谁?

  • 仓库以 CMakeLists.txt 开头的 C 和 C++ 开发者
  • 安装了 CMake 却疑惑为何缺少 cl.exe 的人员
  • 以为 CMake 取代了 Visual Studio 的任何人

当前状态

CMake (2000) 是来自 Kitware 的当前构建生成器。该供应商仍引导 Windows 用户前往 https://cmake.org/download/。

它存在多久了?

Kitware 于 2000 年针对大型 C++ 代码树发布了 CMake。它比 Rust 和 Go 历史更久。当前的 3.x/4.x 版本即该产品。仅适用于 2.8 的教程可能会缺少现代预设功能。

版本

以主要渠道为主。此处并未对所有确切的版本号进行逐一验证。

cmake.exe
cmake-gui.exe

系统要求

数值遵循发布者的公开指引。实际需求仍会因工作负载而异。

最低配置

最低系统要求
操作系统 当前的 64 位 Windows 10 或 Windows 11 版本,基于 Kitware 页面
内存 生成器很小。它所启动的编译才是繁重步骤

资源占用概况

CPU 需求
跟随您在应用内打开的内容
内存需求
跟随文档、标签页或库

安装的进程

这些可执行文件属于该产品安装后的组件。

安装的进程
cmake.exe CMake 命令行生成器
cmake-gui.exe 可选的 CMake GUI

启动项组件

CMake 不会随 Windows 一起启动。你需要在构建文件夹中运行它。

文件位置

常见的 CMake 路径
典型安装 C:\Program Files\CMake\

文件格式

CMakeLists.txtCMakePresets.json

常见问题

配置成功,编译失败

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。与随机编译器压缩包捆绑在一起的 CMake 整合包毫无用处。

如果你需要 MSVC,请安装 Visual Studio 或 Build Tools

Visual Studio Installer 会添加 cl.exe。随后 CMake 就能检测到它。

替代方案

Meson 和 Bazel 是其他元构建系统。MSBuild 通常是 VS 生成器所针对的目标。CMake 依然是常见的 C++ 入口规范。

官方帮助与下载

请先从软件厂商处着手。随意的 exe 网站并不是支持渠道。

官方联络方式
下载 cmake.org/download/ 官方安装程序或厂商页面
帮助 cmake.org/documentation/ 厂商支持
官方网站 cmake.org/ 请从此处开始,而非随意的 exe 托管网站
CMake 文档 cmake.org/cmake/help/latest/ 命令与生成器

相关硬件

配置阶段开销很小。生成的编译任务需要占用 CPU 和 RAM。

技术细节

技术细节

厂商版本号会发生变动。本文不锁定特定内部版本。

来源与验证

记录的来源标签:August 2026。此标签并不代表已完成独立验证。 我们的研究方式.

这篇文章有用吗?

回答"是"或"否"即可。如果您愿意,可以选择一个原因,或添加一段简短附言。

这篇文章有用吗?