我正在尝试编译涉及catkin_make
的ROS项目。该项目涉及 - 其中包括将opencv矩阵转换为名为cv_bridge
的ros矩阵的工具。但是,在尝试编译我的catkin_ws
时,我收到以下错误:
CMake Error at cv_bridge/test/CMakeLists.txt:7 (target_link_libraries):
Cannot specify link libraries for target "cv_bridge-utest" which is not
built by this project.
有谁知道这个错误?我对ROS很陌生,所以我不确定如何告诉ROS编译整个catkin_ws/src
目录。在后一个文件夹中,应该存在所有必需的文件夹。还有catkin_ws/src/cv_bridge
但是它可能尝试以错误的顺序编译文件夹...
答案 0 :(得分:0)
我不知道你在CMakeLists中写了什么。假设错误就在那里,你可以像这样使用CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.3)
project(your_project)
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
cv_bridge
)
find_package(OpenCV REQUIRED)
###########
## Build ##
###########
catkin_package()
include_directories(
${catkin_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
include
)
add_executable(executable src/your_file.cpp)
target_link_libraries(executable ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})
在package.xml中添加以下行:
<build_depend>opencv2</build_depend>
<build_depend>cv_bridge</build_depend>
<run_depend>opencv2</run_depend>
<run_depend>cv_bridge</run_depend>
要编译文件夹,您只需转到catkin目录并输入:catkin_make 如果您以正确的方式构建了工作区,则应该编译而不会出错。