尝试安装时与 opencv 和 ros indigo 的链接问题 vision_opencv

linking issue with opencv and ros indigo while trying to install vision_opencv

您好,我的问题有两个方面。 首先,我很困惑为什么 /opt/ros/indigo/share 中有 opencv3 和 OpenCV-3.1.0-dev 包,因为我读过 opencv 2.4.8 是 ROS indigo 的默认版本。

此外,我在 ubuntu 14.04 上安装了带有 ROS Indigo 的 opencv 2.4.13 版本,我想将 opencv 用于我的项目的视觉部分,为此我尝试安装 vision_opencv 包从源头。但是,当我尝试使用 catkin_make 构建包时,出现以下错误

这里问了类似的问题

-- ==> add_subdirectory(vision_opencv/image_geometry)

CMake 错误在 /opt/ros/indigo/share/OpenCV-3.1.0-dev/OpenCVModules.cmake:183(消息): 导入的目标 "opencv_xobjdetect" 引用了文件

 "/opt/ros/indigo/lib/libopencv_xobjdetect3.so.3.1.0"

但是这个文件不存在。可能的原因包括:

调用堆栈(最近的调用在前): /opt/ros/indigo/share/OpenCV-3.1.0-dev/OpenCVConfig.cmake:86(包含) vision_opencv/image_geometry/CMakeLists.txt:5 (find_package)

-- 配置不完整,出现错误! 另见“/home/hemang/catkin_ws/build/CMakeFiles/CMakeOutput.log”。 另见“/home/hemang/catkin_ws/build/CMakeFiles/CMakeError.log”。


我不明白的是为什么当系统没有安装 opencv3 或 ROS indigo 现在带有 opencv3 时它试图 link 与 Opencv3 ??

所以我在 cv_bridge 和 image_geometry 的 CMakeLists.txt 文件中弄明白了,find package(OpenCV REQUIRED) 应该是 find package (OpenCV 2.4.13 REQUIRED) 。这是我的情况,因为我安装了 OpenCV 2.4.13,可以将其替换为正在使用的任何版本。