2. 1.2 环境安装与配置

开篇:把“施工队长”请进你的开发环境

在上一节中,我们认识了 CMake 这位靠谱的“施工队长”,也了解了它如何解决跨平台构建的痛点。不过,光认识还不够,接下来我们要做的第一件事,就是把它请进我们的电脑——安装并配置好 CMake 的运行环境

对于零基础的朋友来说,安装开发工具往往是踩坑的第一步:环境变量没配好、版本冲突、IDE 识别不到……这节课,我们就从最基础的安装开始,手把手带你把 CMake 在 Windows、macOS 和 Linux 上安顿好,再帮你配置好趁手的开发环境,确保后面的学习一路畅通。

各平台安装方法

CMake 的核心是一个命令行工具,但它在不同平台上的安装方式略有差异。我们先来看最通用的官方安装包方式,适合所有平台。

Windows:图形化安装向导

Windows 用户最推荐的方式是直接从 CMake 官网下载安装程序,步骤如下:

  1. 访问 CMake 官方下载页面:https://cmake.org/download/
  2. 找到 Windows x64 Installer(通常是一个 .msi 文件),下载与你系统对应的版本。
  3. 双击运行安装向导,一路点击“Next”。
  4. 关键步骤:在安装选项中,务必勾选 “Add CMake to the system PATH for all users”(为所有用户添加到系统 PATH)。这是确保你可以在任意目录的命令行中直接输入 cmake 命令的关键。
  5. 完成安装后,打开 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 安装分两种情况:

  1. 快速安装(版本可能较旧)
    # Ubuntu/Debian
    sudo apt update
    sudo apt install cmake
    
    # Fedora/RHEL
    sudo dnf install cmake
    
    # Arch Linux
    sudo pacman -S cmake
  2. 安装较新版本(推荐)
    • 从 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

使用包管理器安装

除了官网安装包,现代开发中更推荐使用包管理器来管理开发工具。它们能帮我们自动处理依赖、更新和路径配置。

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 FilesCMake325C: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。

  1. 安装 CMake Tools 扩展(由 Microsoft 官方提供,市场搜索即可)。
  2. 安装 C/C++ 扩展(提供 IntelliSense 代码补全)。
  3. 打开一个包含 CMakeLists.txt 的文件夹,VS Code 底部的状态栏会自动显示当前配置的生成器(如 [Unspecified][Visual Studio Community 2022 Release - amd64])。
  4. 点击状态栏的编译器名称,可以选择本机检测到的工具链(Kit),包括不同版本的 Visual Studio、GCC、Clang 等。
  5. 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,但通常建议你改为使用系统安装的版本,以便保持版本一致。

  1. 打开 File > Settings(macOS 为 CLion > Preferences)。
  2. 导航到 Build, Execution, Deployment > Toolchains,确认 CMake 的路径。默认可能是 bundled(捆绑版)。
  3. 点击下拉框选择 Custom CMake executable,然后填入你系统安装的 cmake 路径(例如 /usr/bin/cmakeC:Program FilesCMakebincmake.exe)。
  4. 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 解决方案文件。

  1. 安装 Visual Studio 时,务必勾选“使用 C++ 的桌面开发”工作负载。
  2. 在单个组件中,确认勾选了“用于 Windows 的 C++ CMake 工具”
  3. 安装完成后,点击 打开本地文件夹,选择一个包含 CMakeLists.txt 的目录,VS 会自动识别为 CMake 项目。
  4. 顶部工具栏可以选择目标(如 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 项目!

请登录后发表评论

    没有回复内容

正在唤醒异次元光景……