Ubuntu20.04更新Cmake版本详解

最近在跑一个融合惯导定位的slam框架ins_eskf_kitti,在框架的安装过程中,需要对从GitHub上克隆下来的glog进行编译。其命令如下:

glog:

bash 复制代码
git clone https://github.com/google/glog.git
cd glog
mkdir build
cd build
cmake ..
make

其中在执行到cmake的时候出现了报错。提醒说是cmake版本较低,需要cmake-3.22或者更高的版本来进行编译,此时我的cmake版本是cmake-3.16.3。所以需要对cmake进行更新升级,换到更新的版本。

注意:

在搜索cmake版本更新升级的教程中,很多教程会教大家先卸载原有的旧版本的cmake,在下载更新更高版本的cmake。

这里亲测不要这么做!!!

因为一旦这么做了,系统里原先经过cmake编译过的文件也一并会被删除,导致系统出现很多错误。别问我怎么知道的......

所以最好的做法就是直接下载安装更高版本的cmake,然后建立软链接进行使用!

Cmake更新升级步骤

1、 检查当前自己Ubuntu系统的cmake版本:
bash 复制代码
sudo cmake --version
2、 源码安装指定版本的cmake,这里我安装的是cmake-3.23.0,自己选定一个目录,然后在该目录下执行:
bash 复制代码
sudo wget https://cmake.org/files/v3.23/cmake-3.23.0.tar.gz
3、 对安装包进行解压:
bash 复制代码
sudo tar -zxvf cmake-3.23.0.tar.gz
4、 进入解压的文件夹cmake-3.23.0:
bash 复制代码
cd cmake-3.23.0
5、 安装cmake-3.23.0:
bash 复制代码
sudo ./configure

这里需要执行一段时间,耐心等待。

6、 上面执行完毕后,执行:
bash 复制代码
sudo make -j8
7、 上面执行完毕后,执行:
bash 复制代码
sudo make install

上面的命令执行完毕后,cmake-3.23.0我们其实已经安装好了,此时我们查看cmake的版本发现,显示的还是cmake-3.16.3的版本。这其实是因为我们虽然安装好了cmake-3.23.0,但是查看版本的时候搜索的还是原来的路径,所以我们需要建立一个软链接,让系统使用新安装的cmake-3.23.0来进行编译。

所以,需要建立软链接,执行以下命令:
bash 复制代码
sudo update-alternatives --install /usr/bin/cmake  cmake /usr/local/bin/cmake  1 --force

至此,cmake-3.23.0版本更新成功!

相关推荐
会开花的二叉树8 分钟前
C++微服务 UserServer 设计与实现
开发语言·c++·微服务
DuHz14 分钟前
C程序中的数组与指针共生关系
linux·c语言·开发语言·嵌入式硬件·算法
我星期八休息17 分钟前
C++智能指针全面解析:原理、使用场景与最佳实践
java·大数据·开发语言·jvm·c++·人工智能·python
shuair21 分钟前
mysql8支持远程访问 -mysql5.7支持远程访问
linux·mysql
·白小白32 分钟前
力扣(LeetCode) ——11.盛水最多的容器(C++)
c++·算法·leetcode
Murphy_lx1 小时前
Linux系统--信号(4--信号捕捉、信号递达)陌生概念篇
linux·运维·服务器
焱焱枫2 小时前
Linux疑难杂症诊断利器:深入解析 fuser 命令
linux·运维·服务器
深思慎考2 小时前
RabbitMQ 入门:基于 AMQP-CPP 的 C++ 实践指南与二次封装
开发语言·c++·分布式·rabbitmq·api
深思慎考2 小时前
Ubuntu 系统 RabbitMQ 安装指南与使用(含 C++ 客户端与 SSL 错误解决)
c++·ubuntu·rabbitmq·github·rabbitmqpp
博语小屋2 小时前
Linux进程信号(壹)_产生信号
linux·运维·服务器