一、相关依靠安装
在安装Sophus之前,需要先完成Eigen和fmt库的安装,相关安装方法及报错办理可以参考我之前写的博客,如下所示:
【已办理】编译报错:fatal error: Eigen/Core: 没有那个文件或目录 #include <Eigen/Core>https://blog.csdn.net/qq_44339029/article/details/142343425?spm=1001.2014.3001.5501【已办理】Ubuntu20.04安装fmt编译报错:error: no matching function for call to ‘fmt::v11::formatter的办理方法https://blog.csdn.net/qq_44339029/article/details/142418722?spm=1001.2014.3001.5501
二、安装Sophus
在终端输入以下指令,从github克隆Sophus到当地
- git clone https://github.com/strasdat/Sophus.git
复制代码 然后依次执行以下指令举行编译安装
- cd Sophus/
- mkdir build
- cd build
- cmake
- ..
复制代码 三、相关报错及办理方法
我在执行上述过程中的cmake
.. 指令时,产生如下报错,
CMake Error at CMakeLists.txt:1 (cmake
_minimum_required):CMake 3.24 or higher is required. You are running version 3.16.3-- Configuring incomplete, errors occurred!
报错原因很简单,这个包需要的的CMakelist编译文件中标注的CMake最小版本是于3.24,而我们的CMake是3.16,不符合要求,需要升级CMake版本
注:在升级CMake版本的时间,网上很多教程说要先卸载之前的版本,然后再更新更高版本的cmake
,这里巨坑,因为一旦卸载旧版本,系统里原先颠末CMake的文件也一并会被删除,包括安装的ROS等,我之前执行卸载CMake指令的时间,系统提示我会释放200多MB的空间,其时没注意,还以为CMake原来就挺大,卸完了才发现,好家伙,这是给我一锅端了,安装的ROS啥的也都没了。。。。还好,我安装ROS比力熟练了,又花了5分钟把ROS装了返来
以是推荐不要卸载旧版本CMake,直接下载安装更高版本的cmake
,然后建立软链接举利用用,流程如下:
1、去官网下载最新(大概你想要的版本)的CMake包,链接如下,对于不能通过官网下载的小伙伴,我把我下载下来的CMake3.30.3版本放在了这篇博客的绑定资源里面,有需要的自取
https://cmake
.org/download/https://cmake
.org/download/ 2、下载后解压,举行解压后得到的文件夹下,空缺处右键,选择 在终端打开,在打开的终端下运行 ./configure 指令
3、按照提示,执行 make
指令
4、执行sudo make
install指令举行安装
5、然后使用下令 cmake
--version查察当前CMake版本,正常情况下,可以发现CMake版本已经更新为了我们刚安装的版本
如果,此时,你的版本依然表现旧版本大概提示CMake Error: Could not find CMAKE_RO0T !!! 可以执行以下语句建立软毗连来修复该问题(因为我没有出现这种情况,该方法我暂时没有测试过)
sudo update-alternatives --install /usr/bin/cmake
cmake
/usr/local/bin/cmake
1 –force
6、到这里CMake的升级就完成了,然后我们就可以继续举行Sophus的安装了,我们返回Sophus的build文件下,重新执行cmake
..指令
7、然后就行执行前面第二部分介绍过的流程中的make
和sudo make
install指令了
至此,Sophus就成功的安装完成了
附:其他报错
fatal error: rapidjson/document.h: 没有那个文件或目录 11 | #include "rapidjson/document.h"
执行以下指令安装缺失的依靠即可
- sudo apt-get install rapidjson-dev
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |