当前位置: 代码迷 >> 综合 >> ubuntu18安装 g2o_viewer 安装 ,报错 The constructor with a sharewidget is deprecated
  详细解决方案

ubuntu18安装 g2o_viewer 安装 ,报错 The constructor with a sharewidget is deprecated

热度:63   发布时间:2023-09-22 06:26:48.0

参考:
https://blog.csdn.net/billbliss/article/details/77864695
https://blog.csdn.net/ktigerhero3/article/details/75457432
https://blog.csdn.net/baochong7032/article/details/101892223

SLAM十四讲里边安装g2o,发现找不到g2o_viewer,就是编译完发现没这个,这是我安装好的图:
ubuntu18安装 g2o_viewer 安装 ,报错 The constructor with a sharewidget is deprecated

sudo apt-get install libqglviewer-dev

需要安装这个,libQGLViewer,这个命令直接会帮助你把qt4相关的都安装了,能不要自己编译就不要自己编译,直接make就可以装上了。

安装成功 g2o_viewer之后,运行 g2o_viewer 会出现链接动态库失败的错误。
经查找,可以在/usr/local/lib 中找到 libqglviewer.so 文件。错误的原因是/usr/local/lib不在系统查找.so文件的路径下。需自行添加路径。
在/etc/ld.so.conf文件中添加/usr/local/lib目录,然后更新缓存sudo ldconfig。

vim /etc/ld.so.conf
然后加上这一行 :/usr/local/lib
sudo ldconfig

正常操作结束!!!!!

前一天自己直接编译这个库,用了qt5,书里那个版本g2o会在cmake的时候说找不到这个库libQGLViewer,现在想来编译的那个应该版本不对,也没找到官网 http://www.libqglviewer.com 其他版本编译的源码就换了个新版本g2o编译安装,发现能打开但是没有显示,还有这个这个报错:
The constructor with a sharewidget is deprecated, use the regular contructor instead.
因为系统崩了,也没了,借用了别人的图
https://github.com/RainerKuemmerle/g2o/issues/425
ubuntu18安装 g2o_viewer 安装 ,报错 The constructor with a sharewidget is deprecated
ubuntu18安装 g2o_viewer 安装 ,报错 The constructor with a sharewidget is deprecated

也可以自己编译吧,主要这是最新版本的,我用的高翔博士里边旧版本,然后qt5编译就有问题,当初以为是qt4影响了,直接把qt4相关的全部卸载
不要轻易用这种什么autoremove ,一下卸载一堆的命令

apt-get autoremove --purge libqt4-[a-z]*

接近2g的东西,注意,不确定一定不要定yes,要不然系统啥都用不了,最后重启开机都开不了。。。。。
ubuntu18安装 g2o_viewer 安装 ,报错 The constructor with a sharewidget is deprecated
最后重装系统,想着可以直接在服务器上放一个docker容器上跑,编译也快很多。
最后测试效果图
ubuntu18安装 g2o_viewer 安装 ,报错 The constructor with a sharewidget is deprecated
ubuntu18安装 g2o_viewer 安装 ,报错 The constructor with a sharewidget is deprecated

  相关解决方案