g2o Error in `g2o_viewer': realloc(): invalid pointer: 0x00007f6911493820

系统ubuntu16.04 g2o版本;十四讲里面第三方库提供的版本

 

在跟高博的一起做rgbd slam的时候使用g2o viewer查看结果时出现错误:

Error in `g2o_viewer': realloc(): invalid pointer: 0x00007f6911493820

经过网上一番搜索与折腾,找到了解决方案,首先是百度第一篇,说是同时安装了qt4和qt5导致了这个问题

https://blog.youkuaiyun.com/abc_orange/article/details/81874218

他的解决方案是要删除qt4,我怕这样做会导致其他软件出现问题,于是就没有采取这种方案。

随后找到了第二种解决方案,可成功解决:

https://blog.youkuaiyun.com/younger671/article/details/79079943

(1)修改:在FindQGLViewer cmake module中添加下面的加粗代码。
find_library(QGLVIEWER_LIBRARY_RELEASE
  NAMES qglviewer-qt4 QGLViewer-qt4 qglviewer QGLViewer QGLViewer2
  PATHS /usr/lib
        /usr/local/lib
/usr/lib/x86_64-linux-gnu # Ubuntu 16.04 and derivatives
        /opt/local/lib
        /sw/lib


find_library(QGLVIEWER_LIBRARY_DEBUG
  NAMES dqglviewer dQGLViewer dQGLViewer2 QGLViewerd2
  PATHS /usr/lib
        /usr/local/lib
/usr/lib/x86_64-linux-gnu # Ubuntu 16.04 and derivatives
        /opt/local/lib
        /sw/lib
(2)安装:sudo apt-get install libqglviewer-dev-qt4。
(3)清除已安装的g2o,重新编译并安装g2o。
 

第一步、第二步其实说的很清楚,第三步清除g2o并重新编译,具体的方法是:

1,执行指令,删除和g2o有关的文件,如提示不存在则说明已经删除了

sudo rm -r /usr/local/lib/libg2o* /usr/local/include/g2o /usr/local/lib/g2o /usr/local/bin/g2o*

 2,删除build文件夹里面的所有文件,如果步删除,可能会提示(我碰到了):

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libQGLViewer.so', needed by '../lib/libg2o_viewer.so'。 停止。
CMakeFiles/Makefile2:811: recipe for target 'g2o/apps/g2o_viewer/CMakeFiles/viewer_library.dir/all' failed
make[1]: *** [g2o/apps/g2o_viewer/CMakeFiles/viewer_library.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2


3,重新编译安装

   cmake ..

    make

  sudo make install

大功告成,重新打开g2o viewer,已经可以显示了

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值