当前位置: 首页 > news >正文

CMake实践:安装与配置

目录

1.CMake支持的操作系统

1.1.桌面与服务器操作系统

1.2.UNIX 及类 UNIX 系统

1.3.嵌入式与实时操作系统

1.4.特殊硬件与异构平台

1.5.交叉编译支持的目标平台

1.6.验证 CMake 对系统的支持

2.CMake的安装与配置

2.1.Windows安装与配置

2.2.Linux的安装与配置

2.2.1.通过通过包管理器安装(推荐新手)

2.2.2.从源码编译安装(获取最新版本)

2.2.3.使用二进制包(.sh)安装

2.2.4.使用二进制包(.tar.gz)安装

2.3.macOS的安装与配置

2.3.1.使用 Homebrew 安装(推荐)

2.3.2.从源码编译安装(高级用户)

2.4.注意事项

3.CMake GUI 使用

相关链接


1.CMake支持的操作系统

CMake 是一款跨平台的构建工具,能够支持多种操作系统和平台。以下是 CMake 支持的主要操作系统及平台分类,涵盖主流桌面系统、服务器系统、嵌入式系统等:

1.1.桌面与服务器操作系统

1. Linux 系列

  • 主流发行版
    • Ubuntu/Debian(如 Ubuntu 20.04、Debian 11)
    • CentOS/RHEL(如 CentOS 8、RHEL 9)
    • Fedora(如 Fedora 37)
    • openSUSE(如 openSUSE Tumbleweed)
    • Arch Linux
    • Manjaro
  • 服务器专用系统
    • SUSE Linux Enterprise Server(SLES)
    • Rocky Linux、AlmaLinux(CentOS 替代版)

2. Windows 系列

  • Windows 10/11(支持 MSVC、MinGW、Cygwin 等编译器)
  • Windows Server 2016/2019/2022
  • 支持通过 MSYS2、Cygwin 模拟 Unix 环境编译。

3. macOS

  • macOS 10.13+(High Sierra 及以上)
  • 支持 Xcode 编译器(Clang)和 Homebrew 包管理系统。

1.2.UNIX 及类 UNIX 系统

  • BSD 系列
    • FreeBSD
    • NetBSD
    • OpenBSD
  • Solaris/Illumos
    • Oracle Solaris
    • illumos 衍生系统(如 SmartOS)

1.3.嵌入式与实时操作系统

  • 嵌入式 Linux
    • 基于 Yocto、Buildroot 构建的嵌入式系统
    • 常见于物联网设备、工业控制平台。
  • RTOS(实时操作系统)
    • QNX
    • VxWorks
    • FreeRTOS(需配合特定工具链)
  • 其他嵌入式系统
    • Android(基于 Linux 内核,支持 NDK 编译)
    • iOS(通过 Xcode 工具链支持)

1.4.特殊硬件与异构平台

  • GPU 计算平台
    • NVIDIA CUDA 平台(支持在 Linux/Windows/macOS 上编译 CUDA 项目)
    • AMD ROCm 平台
  • FPGA 与硬件加速平台
    • Xilinx、Intel FPGA 开发环境(需配合厂商工具链)
  • 异构计算平台
    • ARM + x86 混合架构(如某些服务器或边缘计算设备)

1.5.交叉编译支持的目标平台

CMake 支持交叉编译,可在主机系统上为以下目标平台生成构建文件:

  • ARM 架构
    • ARMv7、ARMv8(如树莓派、嵌入式设备)
    • Android ARM 设备
  • MIPS 架构
    • 部分路由器、网络设备
  • PowerPC 架构
    • 传统服务器、工业控制设备
  • RISC-V 架构
    • 新兴开源处理器平台

1.6.验证 CMake 对系统的支持

1.查看官方文档

CMake 官网(https://cmake.org)会定期更新支持的平台列表。

2.命令行检查

在终端执行 cmake --version,若能正常运行,说明当前系统已支持。

3.交叉编译配置

通过 CMAKE_TOOLCHAIN_FILE 指定目标平台工具链,例如为 ARM 平台编译:

set(CMAKE_TOOLCHAIN_FILE "/path/to/arm-toolchain.cmake")

.cmake的写法参考下面章节:

CMake实践:指定gcc版本编译和交叉编译_cmake 指定版本-CSDN博客

2.CMake的安装与配置

CMake 可以在不同操作系统上进行安装,本文将介绍 Windows、Linux 以及 macOS 系统下的安装与配置。

CMake 安装包下载地址:Download CMake。

下载页面包含了源码包及二进制包:

 我们可以在上面二进制包列表中下载适用于我们操作系统的安装包。

2.1.Windows安装与配置

选择 Windows 版本的安装包(通常是 .msi 文件)。

下载后,双击下载的 .msi 文件,按照安装向导的指示进行安装。

在安装过程中,可以选择将 CMake 添加到系统的 PATH 环境变量中(建议选择此选项,以便在命令行中直接使用 cmake 命令)。

验证安装:打开命令提示符(CMD)或 PowerShell,输入 cmake --version,查看是否能正确显示 CMake 的版本信息。

2.2.Linux的安装与配置

2.2.1.通过通过包管理器安装(推荐新手)

通过包管理器安装(适用于大多数发行版):

1.Ubuntu/Debian 系统

sudo apt update
sudo apt install cmake
或
sudo apt-get install cmake

2.CentOS/RHEL 系统

sudo yum install cmake  # 可能安装较旧版本(如 2.8.x)# 若需新版本,可启用 EPEL 源
sudo yum install epel-release
sudo yum install cmake3  # 较新版本(如 3.10+)
# 为保持兼容性,创建软链接
sudo ln -s /usr/bin/cmake3 /usr/bin/cmake

3.Arch Linux

sudo pacman -S cmake

4.Fedora 系统

sudo dnf install cmake

2.2.2.从源码编译安装(获取最新版本)

1.安装依赖

# Ubuntu/Debian
sudo apt install build-essential libssl-dev# CentOS/RHEL
sudo yum install gcc gcc-c++ make openssl-devel

2.下载 CMake 源码

从 CMake 官网 下载最新稳定版:

VERSION=3.26.4  # 替换为最新版本号
wget https://github.com/Kitware/CMake/releases/download/v${VERSION}/cmake-${VERSION}.tar.gz
tar -zxvf cmake-${VERSION}.tar.gz
cd cmake-${VERSION}

3.配置、编译和安装

./bootstrap --prefix=/usr/local  # 指定安装路径
make -j$(nproc)  # 并行编译(利用多核加速)
sudo make install

4.验证安装

cmake --version  # 应显示新安装的版本

2.2.3.使用二进制包(.sh)安装

1.查看系统

uname -mX86-64

2.下载二进制包

VERSION=3.26.4  # 替换为最新版本号
wget https://github.com/Kitware/CMake/releases/download/v${VERSION}/cmake-${VERSION}-linux-x86_64.sh
chmod +x cmake-${VERSION}-linux-x86_64.sh

3.安装(交互式或静默模式)

# 交互式安装(推荐)
./cmake-${VERSION}-linux-x86_64.sh# 静默安装(指定路径)
./cmake-${VERSION}-linux-x86_64.sh --prefix=/usr/local --skip-license

4.添加到 PATH(若未自动添加)

echo 'export PATH=/path/to/cmake/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

2.2.4.使用二进制包(.tar.gz)安装

1.下载并解压文件

# 下载文件(如果尚未下载)
wget https://github.com/Kitware/CMake/releases/download/v3.31.8/cmake-3.31.8-linux-x86_64.tar.gz# 解压到 /opt 目录(需管理员权限)
sudo tar -zxvf cmake-3.31.8-linux-x86_64.tar.gz -C /opt/# 重命名目录(可选,但推荐)
sudo mv /opt/cmake-3.31.8-linux-x86_64 /opt/cmake-3.31.8

2.配置环境变量

将 CMake 的 bin 目录添加到系统路径:

方法 1:临时设置(当前终端有效)

export PATH=/opt/cmake-3.31.8/bin:$PATH

方法 2:永久设置(推荐)

# 编辑 .bashrc 或 .bash_profile
echo 'export PATH=/opt/cmake-3.31.8/bin:$PATH' >> ~/.bashrc
source ~/.bashrc  # 立即生效

3.验证安装

cmake --version  # 应显示 3.31.8
which is cmake      # 应显示 /opt/cmake-3.31.8/bin/cmake

4.可选:创建系统软链接

若 cmake --version 仍显示旧版本,可能是系统默认路径优先级更高。可通过以下方式解决:

# 方法 1:创建软链接覆盖系统默认命令
sudo ln -s /opt/cmake-3.31.8/bin/cmake /usr/bin/cmake
sudo ln -s /opt/cmake-3.31.8/bin/cpack /usr/bin/cpack# 方法 2:使用 update-alternatives 管理命令优先级
sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/cmake/bin/cmake 100

2.3.macOS的安装与配置

2.3.1.使用 Homebrew 安装(推荐)

Homebrew 是 macOS 上最流行的包管理器,能快速安装和更新 CMake。

访问 CMake 官方网站的下载页面,选择 macOS 版本的 .dmg 文件。

下载并运行 .dmg 文件,拖动 CMake 图标到应用程序文件夹。

安装成功后,命令都在 /Applications/CMake.app/Contents/bin 目录下,我们需要将环境变量添加到 .bash_profile 文件中,使用 vim 进行编辑:

vim ~/.bash_profile 

将以下内容添加到文件末尾:

export PATH="/Applications/CMake.app/Contents/bin":"$PATH"

添加完成后,执行 source ~/.bash_profile 或者重新启动终端。

验证安装:打开终端,输入 cmake --version,确认 CMake 已正确安装。

2.3.2.从源码编译安装(高级用户)

适合需要自定义编译选项的场景:

1.安装依赖

brew install openssl  # 若使用 Homebrew

2.下载并编译源码

VERSION=3.31.8  # 替换为最新版本
curl -LO https://github.com/Kitware/CMake/releases/download/v${VERSION}/cmake-${VERSION}.tar.gz
tar -zxvf cmake-${VERSION}.tar.gz
cd cmake-${VERSION}# 配置并编译
./bootstrap --prefix=/usr/local -- -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
make -j$(sysctl -n hw.logicalcpu)  # 并行编译
sudo make install

3.设置环境变量(若需要)

如果 CMake 命令无法找到,手动添加到 PATH:

echo 'export PATH="/Applications/CMake.app/Contents/bin:$PATH"' >> ~/.zshrc  # macOS 默认 shell
source ~/.zshrc

4.可选:创建系统软链接

若 cmake --version 仍显示旧版本,可能是系统默认路径优先级更高。可通过以下方式解决:

# 查看命令实际路径
which cmake  # 若显示 /usr/bin/cmake,可能是系统默认版本

可通过以下方式解决:

# 方法 1:修改 PATH 顺序(在 ~/.zshrc 中调整)
export PATH="/usr/local/bin:$PATH"  # 确保 Homebrew 路径优先# 方法 2:创建软链接覆盖系统默认
sudo ln -sf /Applications/CMake.app/Contents/bin/cmake /usr/bin/cmake

2.4.注意事项

1.权限问题

若解压或创建软链接时提示权限不足,添加 sudo 前缀:

sudo tar -zxvf ...
sudo ln -s ...

2.版本未更新

若 cmake --version 仍显示旧版本,可能是 PATH 设置问题:

  • 检查 which cmake 输出路径是否正确
  • 确保 source ~/.bashrc 或重启终端

3.命令找不到

若提示 cmake: command not found,检查:

  • 解压路径是否正确(/opt/cmake-3.31.8/bin 存在?)
  • PATH 是否正确添加(echo $PATH 查看)

3.CMake GUI 使用

CMake 也提供了图形用户界面(GUI),可以用于更直观地配置项目。

在 Windows 中,通常可以从开始菜单启动。

在 macOS 和 Linux 中,使用终端命令 cmake-gui 启动。

设置源代码目录和构建目录:

  • 源代码目录(Source Code Directory): 指向包含 CMakeLists.txt 文件的目录。
  • 构建目录(Build Directory): 指向用于存放生成的构建文件的目录。建议使用独立的目录以保持源代码的整洁。

配置和生成:

  • 点击 "Configure" 按钮,选择编译器和构建选项,CMake 会检查依赖项并生成配置。
  • 点击 "Generate" 按钮,CMake 会生成适合当前平台的构建文件。

通过上述步骤,用户可以安装和配置 CMake,并使其准备好用于构建和管理项目。

相关链接

  • CMake 官网 CMake - Upgrade Your Software Build System
  • CMake 官方文档:CMake Tutorial — CMake 4.1.0-rc1 Documentation
  • CMake 源码:https://github.com/Kitware/CMake
  • CMake 源码:CMake · GitLab
  • 中文版基础介绍: CMake 入门实战 | HaHack
  • wiki: Home · Wiki · CMake / Community · GitLab
  • Modern CMake 简体中文版: Introduction · Modern CMake
http://www.lqws.cn/news/530245.html

相关文章:

  • 基于vue3+ByteMD快速搭建自己的Markdown文档编辑器
  • MySQL 中的锁机制详解:原理、实现方式与实战解析!
  • MySQL多表关系
  • Nordic 电源管理nPM1300 EK评估板介绍
  • 大模型在慢性病毒性肝炎预测及诊疗方案制定中的应用研究
  • 频宽是什么: 0.35/Tr、0.5/Tr?
  • 第七章---软件实现与编码
  • 关于 ARM64 汇编:调用流程与栈帧结构解析
  • 酒店智能门锁系统常见问题解决方法——东方仙盟
  • zookeeper总是重启失败
  • Golang是什么
  • AI代码编程工具:开启智能编程新时代
  • uniapp微信小程序:editor组件placeholder字体样式修改
  • Spring Boot 中使用 Jackson 实现全局时间格式处理(支持多格式反序列化)
  • A模块 系统与网络安全 第三门课 网络通信原理
  • Spring AI 入门到实战:我如何用它让系统具备“理解能力”
  • 【机器学习第一期(Python)】梯度提升决策树 GBDT
  • Pycharm无法运行Vue项目的解决办法
  • Java 泛型详解:从入门到实战
  • jdbc实现跨库分页查询demo
  • 人力资源管理系统
  • Spring Cloud Config动态刷新实战指南
  • 用户统计-01.需求分析和设计
  • GNSS位移监测站在大坝安全中的用处
  • 渗透实战:使用隐式转换覆盖toString的反射型xss
  • Day43 复习日 图像数据集——CNN
  • 【PX4-AutoPilot教程-TIPS】PX4系统命令行控制台ConsolesShells常用命令(持续更新)
  • ES文件管理器v4.4.3(ES文件浏览器)
  • 鸿蒙 FoldSplitContainer 解析:折叠屏布局适配与状态管理
  • MySQL之存储函数与触发器详解