【SLAM】安装 g2o (记一次眼瞎)
来源:互联网 发布:更改ssh 默认端口 编辑:程序博客网 时间:2024/06/08 03:54
2017年2月8日,那是一个阴天。为了完成高翔博士的《一起做RGB-D SLAM》教程,我在 Ubuntu 14.04 安装 g2o。遇到困难,怎奈我眼瞎,找错了方向,浪费时间,没有成功安装。
问题如下(跳到最后一个问题描述,直接正常安装):
g2o_viewer 没有被安装
这个大多是因为没有安装libqglviewer-dev
(在 Ubuntu 12.04 上这东西叫libqglviewer-qt4-dev
)。
先安装libqglviewer-dev
,再编译、安装 g2o。
g2o_viewer 无法链接到 libqglviewer.so
安装成功 g2o_viewer之后,运行 g2o_viewer 会出现链接动态库失败的错误。
经查找,可以在/usr/local/lib
中找到 libqglviewer.so 文件。错误的原因是/usr/local/lib
不在系统查找.so
文件的路径下。需自行添加路径。
在/etc/ld.so.conf
文件中添加/usr/local/lib
目录,然后更新缓存sudo ldconfig
。
在 Windows 下动态链接库.dll
是放置在$PATH
指明的目录下,或者直接与可执行文件.exe
放置在同一目录下,而在 Linux 中动态链接库.so
没有被当做是可执行文件放置在可执行文件应该放置的地方。
g2o_viewer 运行 Segmentation fault
运行 g2o_viewer 会报错Segmentation fault (core dumped)
,Google 找了很多都没有解决问题。最后还是回到 Github 这个 repo 的 issues 才找到答案。
链接 https://github.com/RainerKuemmerle/g2o/issues/151 中说了是因为在 Ubuntu 14.04 下使用的是 Qt4,而当前的 g2o 版本使用的是 Qt5,所以 g2o_viewer 链接了 Qt 两个版本的动态链接库。
所以解决方案是找到原来使用 Qt4 的 g2o 源码进行编译安装。
看链接 https://github.com/RainerKuemmerle/g2o/commits/master 知道在2017年1月13日有一个 commit 是“Switch to Qt5”,所以 git checkout 到之前版本就可以直接正常编译安装。
苍天啊,我瞎呀。
- 【SLAM】安装 g2o (记一次眼瞎)
- SLAM:使用G2O-ORB-SLAM(编译)
- SLAM:使用G2O-ORB-SLAM(编译)
- graph slam学习:g2o
- graph slam学习:g2o
- graph slam学习:g2o
- RGB-D SLAM——g2o篇(三)
- slam学习(5)-vo (visual odometry)视觉里程计和图优化工具g2o
- 视觉SLAM漫谈(二):图优化理论与g2o的使用
- 视觉SLAM漫谈(二):图优化理论与g2o的使用
- 视觉SLAM漫谈(二):图优化理论与g2o的使用
- 视觉SLAM漫淡(二):图优化理论与g2o的使用
- 视觉SLAM漫谈(二):图优化理论与g2o的使用
- 视觉SLAM漫谈(二):图优化理论与g2o的使用
- 视觉SLAM漫谈(二):图优化理论与g2o的使用
- 视觉SLAM漫谈(二):图优化理论与g2o的使用
- 视觉SLAM漫谈(二):图优化理论与g2o的使用
- 视觉SLAM漫谈(二):图优化理论与g2o的使用
- Ubuntu 16.10 下 使用 C/C++ IDE anjuta 编译出现You must have `libtool' installed
- 【Inno Setup】Inno 与 驱动文件的安装
- fragmentActivity与Activity的区别
- C# decimal
- JDK源码之解读hashMap 的put和get方法的实现原理
- 【SLAM】安装 g2o (记一次眼瞎)
- vue项目导入外部css样式和js文件
- Xamarin.iOS 导航栏各个位置按钮设置
- WebView本地cookie
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上,view)
- 顶尖程序员与普通程序员的5个区别
- 2016 OWASP Mobile TOP 10 中文版
- Python---File "<stdin>", line 1 SyntaxError: invalid syntax
- 并查集(Mahmoud and a Dictionary,cf 766D)