解决办法:参考原文
重新表述:
创建一个ROS功能包,完成主要功能会使用到opencv
下面是package.xml
<buildtool_depend>catkin</buildtool_depend>
<build_depend>roscpp</build_depend>
<build_depend>rospy</build_depend>
<build_depend>std_msgs</build_depend>
<build_depend>cv_bridge</build_depend>
<build_export_depend>roscpp</build_export_depend>
<build_export_depend>rospy</build_export_depend>
<build_export_depend>std_msgs</build_export_depend>
<build_export_depend>cv_bridge</build_export_depend>
<exec_depend>roscpp</exec_depend>
<exec_depend>rospy</exec_depend>
<exec_depend>std_msgs</exec_depend>
<exec_depend>cv_bridge</exec_depend>
<exec_depend>image_transport</exec_depend>
CMakeLists.txt
cmake_minimum_required(VERSION 3.0.2)
project(line_follower)
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
genmsg
geometry_msgs
message_generation
image_transport
cv_bridge
)
find_package(OpenCV )
## Generate messages in the 'msg' folder
add_message_files(
FILES
pos.msg
)
## Generate added messages and services with any dependencies listed here
generate_messages(
DEPENDENCIES
std_msgs
)
include_directories(include ${catkin_INCLUDE_DIRS})
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(detect src/detect.cpp src/linedetect.cpp)
target_link_libraries(detect ${catkin_LIBRARIES} ${OpenCV_LIBS})
add_dependencies(detect line_follower_generate_messages_cpp)
把这些写完整之后,编译通过了