realsenseD400系列相机报错:undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE解决方案

更多详细内容参见:

Intel Realsense D455深度相机的标定及使用(一)——安装librealsense SDK2.0以及realsense-ros

报错信息:

        插上相机运行realsense-ros:

    roslaunch realsense2_camera rs_camera.launch

        如果出现报错:[camera/realsense2_camera_manager-2]进程已经死亡以及未定义标志符undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE。具体报错如下:

    /opt/ros/melodic/lib/nodelet/nodelet: symbol lookup error: /home/khz/ROS/catkin_ws/devel/lib//librealsense2_camera.so: undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE
    [camera/realsense2_camera_manager-2] process has died [pid 4924, exit code 127, cmd /opt/ros/melodic/lib/nodelet/nodelet manager __name:=realsense2_camera_manager __log:=/home/khz/.ros/log/81b1e24a-8f95-11ec-8270-344b50000000/camera-realsense2_camera_manager-2.log].
    log file: /home/khz/.ros/log/81b1e24a-8f95-11ec-8270-344b50000000/camera-realsense2_camera_manager-2*.log
    [camera/realsense2_camera-3] process has finished cleanly
    log file: /home/khz/.ros/log/81b1e24a-8f95-11ec-8270-344b50000000/camera-realsense2_camera-3*.log

        如下图:

问题分析:

         由于出现提示:未定义标识符undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE。猜测是OpenCV库的问题。

解决方案:

        首先看看自己有没有安装OpenCV,没有安装请先安装,安装过程略。

        如果已经安装,打开realsense-ros的功能包文件夹下 realsense2_camera 文件夹下的 CmakeLists.txt文件,做出如下修改:

        添加set(OpenCV_DIR /usr/local/share/OpenCV/)到find_package前(下图11行,注意检查自己OpenCV的路径),添加OpenCV REQUIRED到find_package里(下图26行,注意放在括号里)。

         添加${OpenCV_LIBS}到目标链接库里(下图127行)

         然后跳回catkin_make install再次安装,完成后执行roslaunch realsense2_camera rs_camera.launch。看到如下图就是启动成功了(有Realsense Node Is Up就行,警告可以忽略)。

        更多详细内容参见:Intel Realsense D455深度相机的标定及使用(一)——安装librealsense SDK2.0以及realsense-ros


 

猜你喜欢

转载自blog.csdn.net/weixin_50578602/article/details/127648597
今日推荐