在使用ROS和Orb-slam2时,我遇到了以下问题,因为项目同时调用了opencv2和opencv3(完全,orb-slam2运行OpenCV> 2.4.3,而ROS运行opencv2)
OpenCV Error: Bad argument (Invalid pointer to file storage) in cvGetFileNodeByName, file /build/buildd/opencv-2.4.8+dfsg1/modules/core/src/persistence.cpp, line 740
更重要的是,我在链接时遇到了这个:
/usr/bin/ld: warning: libopencv_imgproc.so.3.2, needed by ../../../../lib/libORB_SLAM2.so, may conflict with libopencv_imgproc.so.2.4
我通过在我的计算机上卸载opencv3并在整个项目中使用opencv2.4.8解决了这个问题,但现在我很困惑, opencv3如何与opencv2冲突?我认为这不是像多个定义那样的原因,因为在编译和链接过程中会检测到它。
希望有人可以帮我解决这个问题。