ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【已办理】Ubuntu20.04安装Sophus的方法 & CMake Error at CMakeLists.txt [打印本页]

作者: 王國慶    时间: 2024-11-20 11:58
标题: 【已办理】Ubuntu20.04安装Sophus的方法 & CMake Error at CMakeLists.txt
一、相关依靠安装

        在安装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到当地
  1. git clone https://github.com/strasdat/Sophus.git
复制代码
         然后依次执行以下指令举行编译安装
  1. cd Sophus/
  2. mkdir build
  3. cd build
  4. cmake
  5. ..
复制代码
  1. make
复制代码
  1. sudo make
  2. 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!


        报错原因很简单,这个包需要的的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 指令
  1. ./configure
复制代码

        3、按照提示,执行 make
指令
  1. make
复制代码
     

   4、执行sudo make
install指令举行安装
  1. sudo make
  2. install
复制代码


        5、然后使用下令 cmake
--version查察当前CMake版本,正常情况下,可以发现CMake版本已经更新为了我们刚安装的版本
  1. cmake
  2. --version
复制代码

        如果,此时,你的版本依然表现旧版本大概提示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
..指令
  1. cmake
  2. ..
复制代码

7、然后就行执行前面第二部分介绍过的流程中的make
和sudo make
install指令了



        至此,Sophus就成功的安装完成了





        附:其他报错

        fatal error: rapidjson/document.h: 没有那个文件或目录 11 | #include "rapidjson/document.h"

               执行以下指令安装缺失的依靠即可
  1. sudo apt-get install rapidjson-dev
复制代码

 







免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4