开篇:把“施工队长”请进你的开发环境
在上一节中,我们认识了 CMake 这位靠谱的“施工队长”,也了解了它如何解决跨平台构建的痛点。不过,光认识还不够,接下来我们要做的第一件事,就是把它请进我们的电脑——安装并配置好 CMake 的运行环境。
对于零基础的朋友来说,安装开发工具往往是踩坑的第一步:环境变量没配好、版本冲突、IDE 识别不到……这节课,我们就从最基础的安装开始,手把手带你把 CMake 在 Windows、macOS 和 Linux 上安顿好,再帮你配置好趁手的开发环境,确保后面的学习一路畅通。
各平台安装方法
CMake 的核心是一个命令行工具,但它在不同平台上的安装方式略有差异。我们先来看最通用的官方安装包方式,适合所有平台。
Windows:图形化安装向导
Windows 用户最推荐的方式是直接从 CMake 官网下载安装程序,步骤如下:
- 访问 CMake 官方下载页面:
https://cmake.org/download/ - 找到 Windows x64 Installer(通常是一个
.msi文件),下载与你系统对应的版本。 - 双击运行安装向导,一路点击“Next”。
- 关键步骤:在安装选项中,务必勾选 “Add CMake to the system PATH for all users”(为所有用户添加到系统 PATH)。这是确保你可以在任意目录的命令行中直接输入
cmake命令的关键。 - 完成安装后,打开 PowerShell 或 CMD,输入
cmake --version,如果看到版本号(例如cmake version 3.28.1),说明安装成功。
避坑提示:如果你使用的是 Windows 7 或更早版本,可能需要下载较旧版本的 CMake(如 3.20 及以下)。不过考虑到现代 C++ 开发环境,强烈建议升级到 Windows 10/11。
macOS:官方安装包与命令行
macOS 用户有两种主流选择:
- 图形化安装:从官网下载
cmake-3.x.x-macos-universal.dmg,双击挂载后将CMake.app拖入“应用程序”文件夹。需要注意的是,这种安装方式不会自动将cmake命令加入终端 PATH。你需要手动创建软链接,或者使用 App 内的Tools > How to Install For Command Line Use菜单来配置。 - 命令行安装(推荐):如果你已经安装了 Homebrew(后面会详细介绍),只需在终端输入
brew install cmake,它会自动处理好路径问题。
验证方式同样是在终端输入 cmake --version。
Linux:发行版包管理器与官方仓库
Linux 用户通常可以通过系统自带的包管理器快速安装,但需要注意:发行版官方仓库中的 CMake 版本往往比较陈旧。例如,Ubuntu 20.04 默认源中的 CMake 可能是 3.16 版,而现代 C++ 项目通常需要 3.20 以上。
因此,Linux 安装分两种情况:
- 快速安装(版本可能较旧):
# Ubuntu/Debian sudo apt update sudo apt install cmake # Fedora/RHEL sudo dnf install cmake # Arch Linux sudo pacman -S cmake - 安装较新版本(推荐):
- 从 CMake 官网下载
.sh自解压安装脚本或.tar.gz压缩包。 - 或者添加 Kitware 官方维护的 APT 仓库(Ubuntu/Debian 用户强烈推荐),这样可以像系统包一样安装最新版,同时保持自动更新:
# 添加 Kitware 官方 APT 仓库(以 Ubuntu 为例) wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | sudo tee /etc/apt/sources.list.d/kitware.list sudo apt update sudo apt install cmake
- 从 CMake 官网下载
使用包管理器安装
除了官网安装包,现代开发中更推荐使用包管理器来管理开发工具。它们能帮我们自动处理依赖、更新和路径配置。
apt(Ubuntu/Debian)
如上文所述,apt 是最常见的 Linux 包管理器。但请记得区分“系统默认源”和“官方第三方源”。如果你只需要一个能用的 CMake,sudo apt install cmake 是最简单的;如果你需要最新特性,务必切换到 Kitware 官方 APT 源。
Homebrew(macOS 与 Linux)
Homebrew 是 macOS 上事实标准的包管理器,近年来也支持 Linux。它会把软件安装在独立目录(/opt/homebrew 或 /usr/local),并自动软链接到 /usr/local/bin,无需手动配置 PATH。
# 安装 Homebrew(如果还没有)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 CMake
brew install cmake
# 更新到最新版
brew upgrade cmake
Homebrew 的一大优势是版本管理方便,后面我们会讲到如何利用它切换多版本。
Chocolatey(Windows)
Choco 是 Windows 上最流行的命令行包管理器。如果你讨厌图形界面的“下一步”点击,可以打开管理员权限的 PowerShell,输入:
# 安装 CMake
choco install cmake
# 安装并指定安装路径(可选)
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
Choco 会自动处理环境变量,非常适合自动化开发环境搭建。
vcpkg(跨平台 C++ 库管理器)
虽然 vcpkg 主要用来管理 C++ 第三方库,但它本身也依赖 CMake,并且可以通过以下方式安装 CMake 工具链:
# 在 vcpkg 目录下
./vcpkg install cmake
不过,对于初学者来说,建议先单独安装好系统级的 CMake,再学习 vcpkg,避免混淆工具链的层次关系。
CMake 版本管理与多版本切换
在实际工作中,你可能会遇到这样的场景:公司老项目要求 CMake 3.16,而新项目需要 3.28 的新特性。这时候,多版本共存与切换就成了必备技能。
为什么要关注版本?
CMake 3.x 系列虽然保持了向后兼容(高版本通常能处理低版本的 CMakeLists.txt),但反过来不行——如果你用 3.16 去构建要求 cmake_minimum_required(VERSION 3.20) 的项目,会直接报错。因此,建议始终安装不低于你项目要求的版本。
Linux:update-alternatives 管理多版本
在 Linux 上,如果你通过手动下载压缩包安装了多个版本的 CMake(例如解压到 /opt/cmake-3.25 和 /opt/cmake-3.28),可以使用 update-alternatives 来管理:
# 注册两个版本的 cmake 到 alternatives 系统
sudo update-alternatives --install /usr/bin/cmake cmake /opt/cmake-3.25/bin/cmake 1
sudo update-alternatives --install /usr/bin/cmake cmake /opt/cmake-3.28/bin/cmake 2
# 随时切换版本
sudo update-alternatives --config cmake
# 查看当前使用的版本
cmake --version
这种方法的好处是系统级的切换,对所有用户和终端会话生效。
macOS:brew link 与手动切换
如果你通过 Homebrew 安装了多个版本的 CMake,可以使用 brew link 来切换。不过默认情况下 Homebrew 只允许一个版本链接到 PATH。更灵活的做法是直接使用具体版本的路径:
# 查看已安装的版本
ls /opt/homebrew/Cellar/cmake/
# 临时使用某个版本(不影响全局)
/opt/homebrew/Cellar/cmake/3.28.1/bin/cmake --version
对于频繁切换的需求,你可以在 .zshrc 或 .bash_profile 中定义别名(alias):
alias cmake325='/opt/homebrew/Cellar/cmake/3.25.3/bin/cmake'
alias cmake328='/opt/homebrew/Cellar/cmake/3.28.1/bin/cmake'
Windows:PATH 优先级与 CMake GUI
Windows 上多版本管理相对简单直接:安装多个版本时,确保它们安装在不同的目录(如 C:Program FilesCMake325 和 C:Program FilesCMake328)。然后通过调整系统环境变量 PATH 中目录的先后顺序来决定哪个版本被优先调用。
另外,CMake 的 Windows 安装包自带一个 cmake-gui 程序,不同版本的 GUI 可以共存,互不影响。
快速检查版本的小技巧
无论你用哪种方式安装,记住这三个命令:
cmake --version:查看当前命令行使用的 CMake 版本。which cmake(Linux/macOS)或where cmake(Windows CMD):查看 cmake 可执行文件的具体路径。cmake --help:查看该版本支持的所有命令和生成器列表。
集成开发环境配置
安装好 CMake 本身后,下一步就是让它与你的 IDE(集成开发环境)无缝配合。现代的 C++ IDE 几乎都原生支持 CMake,但配置方式各有不同。
VS Code:轻量编辑器的 CMake 扩展
VS Code 本身只是一个编辑器,但通过安装扩展,可以变成强大的 C++ IDE。
- 安装 CMake Tools 扩展(由 Microsoft 官方提供,市场搜索即可)。
- 安装 C/C++ 扩展(提供 IntelliSense 代码补全)。
- 打开一个包含
CMakeLists.txt的文件夹,VS Code 底部的状态栏会自动显示当前配置的生成器(如[Unspecified]或[Visual Studio Community 2022 Release - amd64])。 - 点击状态栏的编译器名称,可以选择本机检测到的工具链(Kit),包括不同版本的 Visual Studio、GCC、Clang 等。
- 按
Ctrl+Shift+P(或Cmd+Shift+P),输入CMake: Configure进行项目配置,CMake: Build进行构建。
配置提示:如果你的系统上安装了多个 CMake 版本,而 VS Code 没有识别到最新的那个,可以在 .vscode/settings.json 中手动指定路径:
{
"cmake.cmakePath": "C:\Program Files\CMake\bin\cmake.exe"
}
CLion:深度原生支持
JetBrains 的 CLion 是目前对 CMake 支持最完善的 IDE 之一,它内置了 CMake,但通常建议你改为使用系统安装的版本,以便保持版本一致。
- 打开 File > Settings(macOS 为 CLion > Preferences)。
- 导航到 Build, Execution, Deployment > Toolchains,确认 CMake 的路径。默认可能是
bundled(捆绑版)。 - 点击下拉框选择
Custom CMake executable,然后填入你系统安装的cmake路径(例如/usr/bin/cmake或C:Program FilesCMakebincmake.exe)。 - 在 CMake 设置页,可以配置构建类型(Debug/Release)、CMake 选项(如
-DCMAKE_CXX_STANDARD=17)以及生成器(默认使用 Ninja,也可以改为 Unix Makefiles 或 Visual Studio)。
CLion 的优势在于它能实时解析 CMakeLists.txt,文件一有改动就会自动重新加载(Reload)项目,代码补全和重构功能也基于 CMake 的目标系统。
Visual Studio:多配置生成器的代表
Windows 上的 Visual Studio(2017 及更高版本)原生支持 CMake 项目,你甚至不需要手动生成 .sln 解决方案文件。
- 安装 Visual Studio 时,务必勾选“使用 C++ 的桌面开发”工作负载。
- 在单个组件中,确认勾选了“用于 Windows 的 C++ CMake 工具”。
- 安装完成后,点击 打开本地文件夹,选择一个包含
CMakeLists.txt的目录,VS 会自动识别为 CMake 项目。 - 顶部工具栏可以选择目标(如
CMakeTargets > ALL_BUILD)和配置(x64-Debug、x64-Release 等)。
注意:Visual Studio 使用的是多配置生成器(Multi-config Generator),这意味着 Debug 和 Release 可以在同一个构建目录下切换,而不需要像 Ninja 或 Makefiles 那样重新配置目录。这一特性我们会在后面的构建类型章节中详细展开。
小结与动手任务
这节课我们完成了 CMake 开发环境的“地基”建设:
- 学会了在 Windows、macOS、Linux 上安装 CMake;
- 掌握了通过 apt、brew、choco 等包管理器进行一键安装;
- 了解了 多版本共存与切换 的方法,避免将来项目版本冲突;
- 配置好了 VS Code、CLion、Visual Studio 这三大主流 IDE。
动手任务:现在请你打开命令行,输入 cmake --version,确认你的 CMake 版本号。如果是 3.20 或更高,那么你已经具备了学习 Modern CMake 的基础;如果低于 3.15,建议按照本文的方法升级到较新版本。下一节课,我们将写下第一个 CMakeLists.txt,运行你的第一个 CMake 项目!


没有回复内容