Ubuntu20.04.2+ROS noetic打开rviz报错:...symbol lookup error...librviz.so: undefined symbol:

打开rviz闪退,shell显示如下:
Ubuntu20.04.2+ROS noetic打开rviz报错:...symbol lookup error...librviz.so: undefined symbol:_第1张图片
一开始我的独立显卡是安装好了的,界面显示的OpenGL也是独显的,但是用的其他博客的方法:

sudo apt-get install -f
sudo apt-get autoremove
rm -r devel
rm -r build
catkin_make

然后把我的手动安装的英伟达独显卸载了。。。然鹅并没卵用,该打不开还是打不开。

于是我又搜了半天,把roswiki也搜遍了还是没解决。。。

最后,我尝试了ros answer里面的一个解答,问题迎刃而解:(可能需要科学上网才能进去)
查找一下动态库路径:

echo $LD_LIBRARY_PATH

我的显示如下:
Ubuntu20.04.2+ROS noetic打开rviz报错:...symbol lookup error...librviz.so: undefined symbol:_第2张图片
然后把我的所以工作空间的build和devel文件都删掉,显示如下:Ubuntu20.04.2+ROS noetic打开rviz报错:...symbol lookup error...librviz.so: undefined symbol:_第3张图片
然后运行:

roscore
rosrun rviz rviz

成功打开
Ubuntu20.04.2+ROS noetic打开rviz报错:...symbol lookup error...librviz.so: undefined symbol:_第4张图片
最后,我把所以工作空间都编译回去,还是能打开,原因不清楚,知道的大佬望不吝赐教!

如果以上方法还解决不了不妨尝试一下以下方法:
还有一种可能是 rviz 获取了错误的 QT 依赖项

ldd /opt/ros/kinetic/lib/librviz.so | grep Qt

如果显示的不是下图,那就是依赖项错了:
Ubuntu20.04.2+ROS noetic打开rviz报错:...symbol lookup error...librviz.so: undefined symbol:_第5张图片
打开.bashrc或者.zshrc(我用的是zshell),在最下面添加这句话:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH
然后source一下,再查看一下是不是上图所示,问题应该就解决了。

你可能感兴趣的:(实验室ROS学习,qt,linux,ubuntu)