CentOS 7 安装CMake指定版本3.21.2

背景:今天在CentOS 7 电脑上安装C++ 日志框架SpdLog-1.12.0,提示如下错误信息:

复制代码
[root@localhost build]# cmake .. && make -j
CMake Error at CMakeLists.txt:3 (cmake_minimum_required):
  CMake 3.10...3.21 or higher is required.  You are running version 2.8.12.2


-- Configuring incomplete, errors occurred!

结论:SpdLog 日志框架要求编译的Cmake版本最低3.10 或3.21,我现在运行的版本仅为2.8.12.2 版本。

CentOS 7 安装CMake-3.21.2版本

第一步:下载CMake 源码

官网地址:https://github.com/Kitware/CMake

选择tags,下载自己所需的目标版本。

CentOS 7 安装CMake 指令

复制代码
# 移除本地cmake
[root@localhost build]# yum remove cmake
已加载插件:fastestmirror
正在解决依赖关系
--> 正在检查事务
---> 软件包 cmake.x86_64.0.2.8.12.2-2.el7 将被 删除
--> 解决依赖关系完成

依赖关系解决

================================================================================================================================================
 Package                        架构                            版本                                       源                              大小
================================================================================================================================================
正在删除:
 cmake                          x86_64                          2.8.12.2-2.el7                             @base                           27 M

事务概要
================================================================================================================================================
移除  1 软件包

安装大小:27 M
是否继续?[y/N]:y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : cmake-2.8.12.2-2.el7.x86_64                                                                                                 1/1
  验证中      : cmake-2.8.12.2-2.el7.x86_64                                                                                                 1/1

删除:
  cmake.x86_64 0:2.8.12.2-2.el7

完毕!
[root@localhost build]# cd ..
[root@localhost spdlog-1.12.0]# cd ..
[root@localhost source_code]# ll
# 解压上传的cmake
[root@localhost source_code]# tar -zxvf CMake-3.21.2.tar.gz
CMake-3.21.2/
CMake-3.21.2/.clang-format
CMake-3.21.2/.clang-tidy
CMake-3.21.2/Auxiliary/
CMake-3.21.2/Auxiliary/CMakeLists.txt
*****
# 项目编译
[root@localhost CMake-3.21.2]# ./bootstrap
---------------------------------------------
CMake 3.21.2, Copyright 2000-2021 Kitware, Inc. and Contributors
Found GNU toolchain
C compiler on this system is: gcc
C++ compiler on this system is: g++  -std=gnu++1y
Makefile processor on this system is: gmake
g++ has setenv
g++ has unsetenv
g++ does not have environ in stdlib.h
g++ has stl wstring
g++ has <ext/stdio_filebuf.h>
******

CMake has bootstrapped.  Now run gmake.
# 项目本地安装
[root@localhost CMake-3.21.2]# make && make install
[  0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/ProcessUNIX.c.o
[  0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/Base64.c.o
[  0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/EncodingC.c.o
[  0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/MD5.c.o
[  0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/Terminal.c.o
[  0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/System.c.o
******
# 验证本机cmkae 版本信息
[root@localhost CMake-3.21.2]# cmake -version
cmake version 3.21.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).
相关推荐
真正的醒悟2 分钟前
2025【1460天】网络工程师经验之道
运维·服务器
Nimsolax8 分钟前
Linux信号
linux
ajassi20004 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
JosieBook5 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工5 小时前
Linux MInt启动速度的优化
linux
Broken Arrows6 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
Light606 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
羚羊角uou7 小时前
【Linux】命名管道
linux·运维·服务器
IT 小阿姨(数据库)7 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
THMAIL7 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融