cmake 升级

文章目录

1. 前言

我们在构建程序时,经常对cmake有最低版本的要求,当cmake版本不匹配时,cmake构建就会失败,此时就需要升级cmake.本文章以升级到cmake v3.30.4为例,来讲解cmake升级常用的几种方式,供大家批评指正。

方法1:从源码安装(推荐,最灵活)

Ubuntu/Debian系统

bash 复制代码
# 卸载旧版本(可选)
sudo apt remove cmake cmake-data

# 安装依赖
sudo apt update
sudo apt install -y wget build-essential libssl-dev

# 下载CMake 3.30.4源码
cd /tmp
wget https://github.com/Kitware/CMake/releases/download/v3.30.4/cmake-3.30.4.tar.gz
tar -xzvf cmake-3.30.4.tar.gz
cd cmake-3.30.4

# 编译安装
./bootstrap --prefix=/usr --parallel=$(nproc)
make -j$(nproc)
sudo make install

# 验证版本
cmake --version

CentOS/RHEL系统

bash 复制代码
# 安装开发工具
sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel

# 下载和编译(同上)
cd /tmp
wget https://github.com/Kitware/CMake/releases/download/v3.30.4/cmake-3.30.4.tar.gz
tar -xzvf cmake-3.30.4.tar.gz
cd cmake-3.30.4

./bootstrap --prefix=/usr --parallel=$(nproc)
make -j$(nproc)
sudo make install

cmake --version

方法2:使用pip安装(简单快速)

bash 复制代码
# 安装pip(如果未安装)
sudo apt install -y python3-pip  # Ubuntu/Debian
# 或
sudo yum install -y python3-pip  # CentOS/RHEL

# 通过pip安装cmake
pip3 install cmake==3.30.4

# 检查是否在PATH中
which cmake
# 如果不在PATH,可以创建符号链接
sudo ln -s /usr/local/bin/cmake /usr/bin/cmake  # 或 ~/.local/bin/cmake

# 验证版本
cmake --version

方法3:使用预编译的二进制文件

bash 复制代码
# 下载预编译版本
cd /tmp
wget https://github.com/Kitware/CMake/releases/download/v3.30.4/cmake-3.30.4-linux-x86_64.tar.gz
tar -xzvf cmake-3.30.4-linux-x86_64.tar.gz

# 移动到系统目录(或用户目录)
sudo cp -r cmake-3.30.4-linux-x86_64/bin/* /usr/local/bin/
sudo cp -r cmake-3.30.4-linux-x86_64/share/* /usr/local/share/

# 或添加到PATH
echo 'export PATH="/tmp/cmake-3.30.4-linux-x86_64/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# 验证
cmake --version

方法4:使用apt仓库(Ubuntu 24.04+)

对于较新的Ubuntu版本,可以通过官方仓库安装:

bash 复制代码
# Ubuntu 24.04 (Noble) 已经包含CMake 3.28+
# 如果系统版本较旧,可以使用Kitware的官方APT仓库

# 添加Kitware的APT仓库
sudo apt update
sudo apt install -y software-properties-common
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ $(lsb_release -sc) main'
sudo apt update

# 安装CMake
sudo apt install -y cmake cmake-qt-gui

# 验证版本
cmake --version
相关推荐
winner88817 小时前
从零吃透C++命名空间、std、#include、string、vector
java·开发语言·c++
AI进化营-智能译站8 小时前
ROS2 C++开发系列07-高效构建机器人决策逻辑,运算符与控制流实战
开发语言·c++·ai·机器人
winner88818 小时前
C++ 命名空间、虚函数、抽象类、protected 权限全套通俗易懂精讲(附与 Java 对比)
java·开发语言·c++
不会编程的懒洋洋8 小时前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke
24白菜头8 小时前
【无标题】
c++·笔记·学习·harmonyos
charlie1145141919 小时前
嵌入式C++实践开发第21篇(单片机实践):按钮输入 —— 硬件原理、消抖与HAL API
开发语言·c++·单片机
AKDreamer_HeXY9 小时前
QOJ 12255 - 36 Puzzle 题解
数据结构·c++·数学·算法·icpc·qoj
AI进化营-智能译站9 小时前
ROS2 C++开发系列13-运算符重载让ROS2消息处理更自然
java·开发语言·c++·ai
zhouwy1139 小时前
Poco 与 libevent 网络编程
c++
叼烟扛炮9 小时前
C++第四讲:类和对象(下)
c++·算法·类和对象