g2o_viewer 启动时报错(core dumped),Error in `g2o_viewer': realloc(): invalid pointer: 0x00007efeed2e5820

整了一下午,百度了好多文件都没好用,最终找到一个文件参考后整出来了,总结如下:
原因是由于同时安装了qt4 和qt5,导致无法定位到共享的目标文件
错误:
这里写图片描述
这里写图片描述

该错误的解决方式:
通过cmake-gui取更改编译配置,更改后如下图:
注意是更改了下图的路径:实际我改的路径是把原来的qt4改成了qt5,下面图中是我编译后截图的,在这之前我卸载了qt4,或许不需要卸载只需更改下面配置也可以;
卸载指令为:sudo apt-get remove qt4-*
这里写图片描述

全部cmake配置如下图所示:
这里写图片描述

同时我也更改了FindQGLViewer.cmake文件部分内容:
更改的部分为:可以对比原先该文件内容 只是改了NAMES后面的内容

find_library(QGLVIEWER_LIBRARY_RELEASE
  NAMES qglviewer QGLViewer qglviewer-qt5 QGLViewer-qt5
  PATHS /usr/lib
        /usr/local/lib
        /opt/local/lib
        /sw/lib
        ENV QGLVIEWERROOT
        ENV LD_LIBRARY_PATH
        ENV LIBRARY_PATH
  PATH_SUFFIXES QGLViewer QGLViewer/release
)
find_library(QGLVIEWER_LIBRARY_DEBUG
  NAMES dqglviewer dQGLViewer dqglviewer-qt5 dQGLViewer-qt5 QGLViewerd2
  PATHS /usr/lib
        /usr/local/lib
        /opt/local/lib
        /sw/lib
        ENV QGLVIEWERROOT
        ENV LD_LIBRARY_PATH
        ENV LIBRARY_PATH
  PATH_SUFFIXES QGLViewer QGLViewer/debug
)

有关依赖库libqglviewer的安装可以使用下面网址并参考安装步骤编译安装
http://libqglviewer.com/installUnix.html
因为有文章说不要使用sudo apt-get install libqglviewer-dev安装,不知道为啥。

更改完cmake配置后 到g2o的build文件夹中删除原先编译的文件,然后重新编译:

cmake ..
make
sudo make install 

运行g20_viewer时可能会报错无法链接到库 libqglviewer.so:
解决办法运行下面指令:

   sudo ldconfig

此时再运行g2o_viewer后就可以正常启动了

qt5的安装:

sudo apt-get install qt5-default qtcreator

问题解决主要参考了下面文章:
https://github.com/RainerKuemmerle/g2o/issues/151
有关g2o的一下其它问题可以参考下面文章:
http://www.cnblogs.com/JingeTU/p/6390924.html
https://blog.csdn.net/sinat_33598258/article/details/74357081

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值