【已办理】Ubuntu20.04安装Sophus的方法 & CMake Error at CMakeLists.txt
一、相关依靠安装在安装Sophus之前,需要先完成Eigen和fmt库的安装,相关安装方法及报错办理可以参考我之前写的博客,如下所示:
【已办理】编译报错:fatal error: Eigen/Core: 没有那个文件或目录 #include <Eigen/Core>https://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://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://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://blog.csdn.net/qq_44339029/article/details/142418722?spm=1001.2014.3001.5501
https://i-blog.csdnimg.cn/direct/19c796517dca4a819cc3d2d1f7e5bc16.webp
二、安装Sophus
在终端输入以下指令,从github克隆Sophus到当地
git clone https://github.com/strasdat/Sophus.git 然后依次执行以下指令举行编译安装
cd Sophus/
mkdir build
cd build
cmake
..
make
sudo make
install 三、相关报错及办理方法
我在执行上述过程中的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!
https://i-blog.csdnimg.cn/direct/1411d6f39e9d4284846bc3f27bab9ed2.png
报错原因很简单,这个包需要的的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://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://cmake
.org/download/ 2、下载后解压,举行解压后得到的文件夹下,空缺处右键,选择 在终端打开,在打开的终端下运行 ./configure 指令
./configure https://i-blog.csdnimg.cn/direct/a3bf5454d3a34d4a98593779304e813e.png
3、按照提示,执行 make
指令
make
https://i-blog.csdnimg.cn/direct/d102bb26e0754a239fdba974c713de50.png
4、执行sudo make
install指令举行安装
sudo make
install https://i-blog.csdnimg.cn/direct/b45aca5b26e247a1b4d3124e12060884.png
5、然后使用下令 cmake
--version查察当前CMake版本,正常情况下,可以发现CMake版本已经更新为了我们刚安装的版本
cmake
--version https://i-blog.csdnimg.cn/direct/472e74e809a342efac2df43748c0d3a4.png
如果,此时,你的版本依然表现旧版本大概提示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
..指令
cmake
.. https://i-blog.csdnimg.cn/direct/f584139b5fb643498db54a203030b331.png
7、然后就行执行前面第二部分介绍过的流程中的make
和sudo make
install指令了
https://i-blog.csdnimg.cn/direct/72aab502f6c04e0fb3e3ba2d64c8e00c.png
https://i-blog.csdnimg.cn/direct/ebb82eb913b649308563fb7de91d9f40.png
至此,Sophus就成功的安装完成了
https://i-blog.csdnimg.cn/direct/479c8d71d0e34fee83954f3753bb449b.webp
附:其他报错
fatal error: rapidjson/document.h: 没有那个文件或目录 11 | #include "rapidjson/document.h"
执行以下指令安装缺失的依靠即可
sudo apt-get install rapidjson-dev
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]