编译ORBSLAM2中遇到的一些问题

2023-10-27

从github中下载源码后,按照readme一步步来,安装完各种依赖后,直接运行了build.sh。

需要注意的是,之前在14.04中安装完依赖后,cmake报错。根据错误信息锁定为cmake版本低,于是重装了cmake 3.9,成功编译。后来系统重装为16.04,为了以防万一,我直接重装了cmake。


在运行Example阶段,遇到了错误如下:

Loading ORB Vocabulary. This could take a while...
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
./rgbd_pcl.bash: line 2:  8338 Aborted                 (core dumped) ./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.bin Examples/RGB-D/TUM1.yaml ~/Downloads/dataset/rgbd_dataset_freiburg3_long_office_household_validation/ Examples/RGB-D/associations/fr3_office_val.txt



这里是内存溢出的错误。打开监视器,重新编译了一下,再运行:

Loading ORB Vocabulary. This could take a while...
Vocabulary loading failure: This is not a correct text file!
Wrong path to vocabulary. 
Falied to open at: Vocabulary/ORBvoc.bin



经过检查,发现我运行的脚本中把ORBvoc.txt写成了ORBvoc.bin。更正后继续:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/zhao/Downloads/opencv-2.4.11/modules/highgui/src/window.cpp, line 483
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/zhao/Downloads/opencv-2.4.11/modules/highgui/src/window.cpp:483: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow


提示安装libgtk2.0-dev pkg-config,并重新安装opencv。

然后成功运行~~


——————————————————————

31.8.2017 更新

——————————————————————

在原生ORBSLAM2可以运行后,尝试运行高博的ORBSLAM2_with_pointcloud_map-master,结果编译时出现了如下问题:

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so', needed by '../lib/libORB_SLAM2.so'.  Stop.
CMakeFiles/Makefile2:178: recipe for target 'CMakeFiles/ORB_SLAM2.dir/all' failed
make[1]: *** [CMakeFiles/ORB_SLAM2.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2


查了很多资料,包括重装pcl,opencv,都不行,并且把系统也弄的乱七八糟,于是最后重装系统。

结果重新编译原生ORBSLAM2时,依旧出现了

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libtiff.so', needed by '../lib/libORB_SLAM2.so'.  Stop.
CMakeFiles/Makefile2:178: recipe for target 'CMakeFiles/ORB_SLAM2.dir/all' failed
make[1]: *** [CMakeFiles/ORB_SLAM2.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2


可见虽然一个是libproj.so,一个是libtiff.so,问题都大同小异。

定位到/usr/lib/x86_64-linux-gnu文件夹后,发现存在一个libtiff.so.5,并没有libtiff.so。而ubuntu16.04在安装的时候是包括了libtiff5的。

所以尝试讲两个文件进行软连接,输入

sudo ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.5 /usr/lib/x86_64-linux-gnu/libtiff.so

问题解决!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译ORBSLAM2中遇到的一些问题 的相关文章

随机推荐

  • Redis使用教程

    1 Redis 基础 Redis是用C语言开发的一个开源的高性能键值对 Key value 数据库 他通过提供多种键值数据类型来适应不同场景的存储需求 Redis支持的键值数据类型如下 字符串类型 String zhanshen 哈希 ha
  • smith chart

    我说可能比较无力 直接看以下的链接 https www maximintegrated com en design technical documents tutorials 7 742 html http en wikipedia org
  • Java HashSet

    Set 集 集合中的对象不按特定方式排序 并且没有重复对象 List 列表 集合中的对象按索引位置排序 可以有重复对象 允许按照对象在集合中的索引位置检索对象 Map 映射 集合中的没一个元素包含键对象和值对象 不允许有重复的键对象 Jav
  • VSCode打不开或者闪退解决方法

    VSCode打不开或者闪退解决方法 VSCode打不开或者闪退解决方法 一 兼容性测试环境下运行 二 非管理员身份下运行 VSCode打不开或者闪退解决方法 vscode这款开发工具近期出现了闪退 打不开的情况 如下图所示出现了一个框随后就
  • 如何用Python绘制多种风玫瑰图

    前言 风玫瑰是由气象学家用于给出如何风速和风向在特定位置通常分布的简明视图的图形工具 它也可以用来描述空气质量污染源 风玫瑰工具使用Matplotlib作为后端 安装方式直接使用pip install windrose 导入模块 Pytho
  • DNS解析错误分析

    1 如何去查询DNS解析 解析命令 ping host dig 图 1 解析命令 2 dig命名查询的内容解析 图 2 dig查询内容 其中查询状态分为 NOERROR 代表没有错误 NXDOMAIN 否定回答 不存在此记录 REFUSED
  • 光电二极管(Photo-Diode)工作原理 与输出电压计算

    光电二极管 Photo Diode 是由一个PN结组成的半导体器件 具有单方向导电特性 光电二极管是在反向电压作用之下工作的 在一般照度的光线照射下 所产生的电流叫光电流 如果在外电路上接上负载 负载上就获得了电信号 而且这个电信号随着光的
  • lrzsz hisi 移植

    configure prefix INSTALL make CC aarch64 mix210 linux gcc
  • C++:vector

    目录 一 关于vector 二 vector的相关函数 三 相关函数的使用 构造函数 size 编辑 push back 迭代器iterator reserve resize find insert erase sort 一 关于vecto
  • 亚马逊运营:A9排序算法与A10排序算法对比

    文章目录 1 A9算法 2 A10算法 4 技巧 5 参考 1 A9算法 当我们在亚马逊电商平台上搜索一个query 对应返回多个商品 商品排序越靠前 曝光机会越多 越能够被用户点击进而提高转化 满足搜索query的商品特别多 那么亚马逊搜
  • Android Studio 3.0 清除项目用不到的资源

    自己也是一直找 一直找 真正要清除无用资源需要通过Android studio的 Remove Unused Resources选项功能来清除无用资源 操作步骤 选中工程 右键选中Refactor 从Refactor中选中Remove Un
  • Econometrics/Stata再学习(一)

    Tips 1 For large data set memory 2 price index 长时间数据要注意平价 3 在做调查之前 一定要先思考想要什么样的图 是否又方差差异 大体趋势的形式 再去设计问卷问题 调查策略 从相关性到因果关系
  • 通过java实现微信公众号发送微信消息

    感谢好多老哥提供的文档 哈哈 这里我就只是代码贴出来 方便以后copy 1获取token String token Wechat getAccess token appId appSecret getString access token
  • repost: mysql之row_format、溢出页(overflow pages)、mysql数据类型(varchar、text、blob、json)

    repost https blog csdn net aecuhty88306453 article details 102196591 MySQL数据行 row format 溢出的深入理解 在 mysql中 若一张表里面不存在varch
  • mysql 函数使用

    1 GROUP CONCAT 功能 将group by产生的同一个分组中的值连接起来 返回一个字符串结果 语法 group concat distinct 要连接的字段 order by 排序字段 asc desc separator 分隔
  • 苹果APP安装包ipa如何安装在手机上

    苹果APP安装包ipa如何安装在手机上 苹果APP的安装比安卓复杂且困难 很多人不知道如何将ipa文件安装到手机上 以下是几种苹果APP安装在iOS设备的方式 供大家参考 一 上架App Store 这是最正规的方式 虽然审核过程复杂 时间
  • idea 部署SpringBoot项目时打成jar包一些坑的总结

    前一段时间 公司分配给我做一些微服务的功能 比如一些分析 一些可以拿出来的模块 所以采用了SpringBoot搭建的微服务项目 至于关于SpringBoot的介绍 这里就不展开了 今天主要写的是这两天我需要把我本地的项目部署到服务器上 遇到
  • HTML输入框标签

    1
  • 华院计算|切比雪夫,他带起了俄罗斯现代数学的发展

    俄罗斯的数学家们常说 他们的现代数学是由切比雪夫带动而建立和发展起来的 图1 帕夫努蒂 切比雪夫 1869年 帕夫努蒂 切比雪夫 Pafnuty Lvovich Chebyshev 1821年5月16 日 1894年12月8日 出生于离莫斯
  • 编译ORBSLAM2中遇到的一些问题

    从github中下载源码后 按照readme一步步来 安装完各种依赖后 直接运行了build sh 需要注意的是 之前在14 04中安装完依赖后 cmake报错 根据错误信息锁定为cmake版本低 于是重装了cmake 3 9 成功编译 后