您好我的问题有两个问题。 首先,我很困惑为什么opencv3和OpenCV-3.1.0-dev软件包在/ opt / ros / indigo / share中,因为我读过opencv 2.4.8是ROS indigo的默认版本。
另外,我在带有ROS Indigo的ubuntu 14.04上安装了opencv 2.4.13版本,我想在我的项目中使用opencv for vision部分,为此我尝试从源代码安装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(include) 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链接?
答案 0 :(得分:0)
所以我在cv_bridge和image_geometry的CMakeLists.txt文件中找到了它,find package(OpenCV REQUIRED)
应该是find package (OpenCV 2.4.13 REQUIRED)
。这是我的情况,因为我安装了OpenCV 2.4.13,可以用任何一个版本替换它。