ubuntu 16.04使用IntelRealSense D435i调用realsense ROS包时,报symbol lookup error和undefined symbol错误的解决办法

   日期:2020-07-18     浏览:785    评论:0    
核心提示:在ubuntu 16.04使用IntelRealSense D435i调用realsense ROS包时,运行roscoreroslaunch realsense2_camera rs_rgbd.launch出现错误,报错如下:/opt/ros/kinetic/lib/nodelet/nodelet: symbol lookup error: /home/xxx/catkin_ws/devel/lib//librealsense2_camera.so: undefined symbol: __symbol

在ubuntu 16.04使用IntelRealSense D435i调用realsense ROS包时,运行

roscore

roslaunch realsense2_camera rs_rgbd.launch

出现错误,报错如下:

/opt/ros/kinetic/lib/nodelet/nodelet: symbol lookup error: /home/xxx/catkin_ws/devel/lib//librealsense2_camera.so: undefined symbol: _ZN20ddynamic_reconfigure19DDynamicReconfigure16registerVariableIiEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_RKN5boost8functionIFvSA_EEES9_SA_SA_

解决思路:
1)查找系统内librealsense2_camera.so的数量
sudo find / -name librealsense2_camera.so
2)如果发现librealsense2_camera.so在不同路径下存在多个文件时,比如:
/home/xxx/catkin_ws/devel/lib/librealsense2_camera.so
/opt/ros/kinetic/lib/librealsense2_camera.so
3)这就产生了引用歧义,即/opt/ros/kinetic/lib/nodelet/nodelet不知道引用哪个库文件进行加载,经测试发现,nodelet原本引用/opt/ros/kinetic/lib/路径下的
librealsense2_camera.so文件,但是,链接到/home/xxx/catkin_ws/devel/lib/路径下的librealsense2_camera.so文件。
4)删除/home/xxx/catkin_ws/devel/lib/路径下的librealsense2_camera.so文件,重新运行后,恢复正常。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服