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

Posted

技术标签:

【中文标题】尝试安装 vision_opencv 时与 opencv 和 ros indigo 的链接问题【英文标题】:linking issue with opencv and ros indigo while trying to install vision_opencv 【发布时间】:2017-08-21 19:19:55 【问题描述】:

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

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

类似的问题在这里问ROS, opencv3 and CMake - unable to remove the library

-- ==> add_subdirectory(vision_opencv/image_geometry)

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

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

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

文件被删除、重命名或移动到其他位置。

安装或卸载过程未成功完成。

安装包出错并包含

"/opt/ros/indigo/share/OpenCV-3.1.0-dev/OpenCVModules.cmake"

但不是它引用的所有文件。

调用堆栈(最近调用优先): /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时,为什么它试图与Opencv3链接??

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于尝试安装 vision_opencv 时与 opencv 和 ros indigo 的链接问题的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 ostream<< 运算符对象时与 fmt 6.2.1-3 + clang 10.0.0 的链接问题

阈值化时与背景合并

编译时与 Boost.python 链接错误

有时在调用时与对手创建 QBRTCSession 时出现空指针异常

ubuntu安装vmware12出现cannot ope dev/vmmon及modprobe vmmon提示密钥无效的解决办法

为 ARM 交叉编译应用程序时与 sdl 链接时出错