目录
问题描述:
在rk3399 arm 平台上编译Open3d 库的时候,发现编译库的时候提示如下,说明我的cmake版本偏低了,要升级我们的Cmake了。
CMake 3.19.2 or higher is required. You are running version 3.10.2
备注:安装由ros系统的,切记不可删除直接删除老版本的cmake,即禁止如下代码操作
sudo apt remove cmake
一、第一种解决办法
这种办法比较纯净是解决问题的最纯粹的方法。(只需构建软件。)不要乱用 PPA 或任何东西。
1、下载Cmake源码
官方下载地址: Download | CMake
这里下载最新的版本cmake-3.22.2.tar.gz
2、解压后编译
指引到目录下,进行编译即可
cd ~/Downloads/cmake-3.22.2
./configure
make
sudo make install
3、版本覆盖
在解压后编译 后,其实再一开始不卸载老版本的cmake的的时候,安装编译新版本的是不能立刻变更的,需要软连接覆盖的。使用which cmake查找cmake的安装路径,新版本的cmake默认编译安装的路径是在/usr/local/bin/cmake,而我们系统会默认去/usr/bin中去寻找老版本的cmake。做一个链接覆盖即可:
sudo ln -sf /usr/local/bin/cmake /usr/bin
二、采用二进制的方式安装最新版本
这种方式最简单,也最快,因为采用第一种方式对于pc端来说和方式二没啥区别,但是对于arm 平台去编译安装要花费不少时间才能编译完,因此采用第二种解决办法。
(备注:对于Ubuntu系统中安装ros的,谨慎删除cmake操作,可能会删除其他附带依赖库导致ros系统出现其他问题。)
本人在rk3399 Ubuntu18.04系统上实现的过程截图如下:
删除系统中已安装的版本,并更新安装cmake即可
sudo apt remove --purge cmake (默认系统还没安装ros系统)
hash -r
sudo snap install cmake --classic
cmake --version
pip3 install xgboost