【SLAM】安装 g2o_viewer

【SLAM】安装 g2o_viewer,第1张

【SLAM】安装 g2o_viewer

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 到之前版本就可以直接正常编译安装。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/586597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存