zoukankan      html  css  js  c++  java
  • 【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 到之前版本就可以直接正常编译安装。

  • 相关阅读:
    [LeetCode]Contains Duplicate
    C++基础之泛型算法
    KMP算法
    [LeetCode]Shortest Palindrome
    [LeetCode]House Robber
    Palindrome Linked List leetcode
    Rotate Array leetcode
    Rotate Image LeetCode
    Rotate List leetcode
    Reorder List leetcode
  • 原文地址:https://www.cnblogs.com/JingeTU/p/6390924.html
Copyright © 2011-2022 走看看