跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++

CMake 跨平台安装指南:Windows、Linux 与 macOS 配置详解

CMake 跨平台构建工具在 Windows、Linux 及 macOS 上的安装方法。涵盖官网下载、包管理器安装及源码编译流程,提供环境变量配置、版本验证及常见报错解决方案。重点说明不同系统的安装差异,包括 Windows 图形界面配置、Linux 终端命令及 macOS Homebrew 用法。针对 command not found、版本过低等常见问题给出具体修复步骤,并建议通过 Docker 或多版本管理工具优化开发环境。

DataScient发布于 2025/9/16更新于 2026/9/360 浏览
CMake 跨平台安装指南:Windows、Linux 与 macOS 配置详解

CMake 跨平台安装指南

CMake 作为跨平台构建工具,在 C/C++ 开发中扮演着核心角色。不同操作系统下的安装方式各有差异,本文将详细介绍 Windows、Linux 和 macOS 上的标准安装流程及验证方法。

安装前准备

在安装之前,建议确认以下三点:

  1. 操作系统类型:根据系统选择对应的安装包或命令。
  2. 版本需求:维护旧项目时,请查阅项目文档中的最低版本要求,避免兼容性问题。
  3. 安装来源:新手推荐从官网下载最新稳定版;资深用户可使用包管理器快速部署。

Windows 系统安装

下载安装包

访问 CMake 官网,选择 Windows x64 Installer 下载 .msi 文件。注意在下载选项中勾选 Add CMake to system PATH,这将自动配置环境变量。

CMake 安装界面

执行安装

运行安装包后,按以下步骤操作:

  1. 同意许可协议。
  2. 选择 Install for all users。
  3. 关键步骤:确保勾选以下两项:
    • Add CMake to the system PATH
    • Create CMake Desktop Icon

验证安装

打开 CMD 或 PowerShell,输入以下命令:

cmake --version

若输出类似 cmake version 3.28.3 的信息,则安装成功。

Linux 系统安装

使用包管理器(Ubuntu/Debian)

对于大多数发行版,直接使用 apt 是最便捷的方式:

sudo apt update
sudo apt install cmake

源码编译(通用方法)

如需特定版本或自定义编译选项,可手动编译:

wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3.tar.gz
tar -zxvf cmake-3.28.3.tar.gz
cd cmake-3.28.3
./bootstrap
make -j4
sudo make install

常见问题

  • 编译器缺失:若报错 No C++ compiler found,请先安装构建工具:
    sudo apt install build-essential
    
  • 路径覆盖:如遇旧版本冲突,可通过 /usr/local/bin/cmake 指定路径。

macOS 系统安装

Homebrew 安装

Mac 用户推荐使用 Homebrew 管理:

brew install cmake

官方 DMG 安装

  1. 从官网下载 .dmg 文件。
  2. 将应用拖入 Applications 文件夹。
  3. 配置环境变量:
    echo 'export PATH="/Applications/CMake.app/Contents/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    

安装验证

基础命令测试

cmake --help | grep version

检查是否显示当前版本信息。

编译 Hello World

创建一个简单的 CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(HelloWorld)
add_executable(hello main.cpp)

随后执行构建流程:

mkdir build && cd build
cmake ..
make

常见问题处理

Command Not Found

  • Windows:检查系统环境变量 PATH 中是否包含 CMake 安装目录。
  • Linux/macOS:尝试执行 source ~/.bashrc 或重启终端会话。

版本过低

若需升级版本:

# Ubuntu
sudo apt remove cmake
sudo snap install cmake --classic

# macOS
brew upgrade cmake

权限不足

在执行安装或修改系统文件时,确保拥有管理员权限。部分操作可能需要 sudo 提权。

多版本管理

对于需要同时维护多个项目的场景,建议使用脚本或工具管理多版本 CMake:

# 示例:调用不同版本
cmake3.20 ../
cmake3.28 ../

此外,Docker 容器化编译环境也是解决依赖冲突的有效方案。

最佳实践建议

  1. 版本选择:企业级项目通常使用较稳定的 LTS 版本(如 3.5-3.20),盲目追新可能引入不兼容风险。
  2. 日志分析:遇到问题时,优先查看 CMakeOutput.log 和 CMakeError.log 定位原因。
  3. 缓存清理:遇到奇怪的配置错误,尝试删除 CMakeCache.txt 重新生成。
  4. 持续学习:掌握 CMakeLists.txt 编写技巧、多目录项目组织及第三方库集成是进阶关键。

目录

  1. CMake 跨平台安装指南
  2. 安装前准备
  3. Windows 系统安装
  4. 下载安装包
  5. 执行安装
  6. 验证安装
  7. Linux 系统安装
  8. 使用包管理器(Ubuntu/Debian)
  9. 源码编译(通用方法)
  10. 常见问题
  11. macOS 系统安装
  12. Homebrew 安装
  13. 官方 DMG 安装
  14. 安装验证
  15. 基础命令测试
  16. 编译 Hello World
  17. 常见问题处理
  18. Command Not Found
  19. 版本过低
  20. Ubuntu
  21. macOS
  22. 权限不足
  23. 多版本管理
  24. 示例:调用不同版本
  25. 最佳实践建议

更多推荐文章

查看全部
  • OpenClaw.ai:Agentic AI 时代的 Spring Framework 时刻
  • Dify 私有化部署教程:搭建 AI 知识库平台
  • ERNIE-4.5-0.3B 轻量化部署与效能突破实战
  • OpenClaw Agents 执行引擎深度解析:拆解 AI 的思考与行动核心
  • 转行学Python到找到工作需要做的关键步骤
  • AIGC 工作流解构:AI 短剧生产管线从手动调用到 Agent 自动化演进
  • 宇树 G1 机器人开发入门:有线与无线连接配置指南
  • TRAE IDE 使用指南:AI 原生开发环境入门与进阶
  • 千笔 AI 辅助论文写作工具功能解析
  • FDE 模式:AI 时代破解落地难题的关键解法
  • 大模型在安防领域的实践应用
  • 青少年软件编程 Python 等级考试一级解析
  • OpenClaw ACP 协议:IDE 直接驱动 AI Agent
  • 机器人建模(URDF)与仿真配置
  • Linux 从硬件硬盘到文件系统的全面过渡
  • Git 安装流程与基础使用指南
  • Windows 本地部署 Ollama 与 Open WebUI 实现远程访问大语言模型
  • Vue3 与 TypeScript 核心面试考点梳理
  • ThreadLocal 的原理、场景和内存泄漏坑
  • CSS 颜色函数和渐变:打造绚丽多彩的前端界面

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online