'catkin_make'期间ROS hydro opencv2链接错误

1 c++ opencv ros

我的ROS水力发电机没什么问题.我需要将它用于一个项目,所以不能改为Indiko.

问题是我用于catkin_create_pkg packname opencv2 ...创建我的项目包.但是当我尝试调用时,catkin_make我得到以下错误:

/opt/ros/hydro/share/catkin/cmake/catkinConfig.cmake:75(find_package)中的CMake错误:找不到"opencv2"提供的包配置文件,其中包含以下任何名称:

opencv2Config.cmake
opencv2-config.cmake
Run Code Online (Sandbox Code Playgroud)

将"opencv2"的安装前缀添加到CMAKE_PREFIX_PATH或将"opencv2_DIR"设置为包含上述文件之一的目录.如果
"opencv2"提供单独的开发包或SDK,请确保它已安装.

我知道opencv2已经安装,因为我可以找到它,rospack find opencv2我可以在与ROS无关的其他项目中使用它.

我在CMakeLists.txt和package.xml中有以下几行

的CMakeLists.txt:

find_package(catkin REQUIRED COMPONENTS opencv2)

include_directories($ {catkin_INCLUDE_DIRS}
$ {opencv2_INCLUDE_DIRS})

target_link_libraries(BasicObstDetect_node
$ {catkin_LIBRARIES}
$ {opencv2_LIBRARIES})

package.xml中:

<build_depend>opencv2</build_depend>

<run_depend>opencv2</run_depend>

我曾尝试使用OpenCV而不是opencv2,但这没有任何区别.有什么建议吗?

a-J*_*ays 5

我不确定,但这可能有用:编辑你CMakeLists的添加

find_package(OpenCV)
include_directories(${OpenCV_INCLUDE_DIRS})
Run Code Online (Sandbox Code Playgroud)

target_link_libraries(follower ${OpenCV_LIBRARIES})