【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 到之前版本就可以直接正常編譯安裝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM