首页 > 解决方案 > 调用“cmake”失败

问题描述

我正在尝试构建 ROS 包“ moveit_kinematics ”,但出现以下错误:

在此处输入图像描述

我跑了find_package(ur3_moveit_plugin REQUIRED),但遇到语法错误。

CmakeLists.txt

find_package(trac_ik_kinematics_plugin QUIET)
find_package(ur_kinematics QUIET)

find_package(Boost COMPONENTS filesystem program_options REQUIRED)

set(MOVEIT_LIB_NAME moveit_cached_ik_kinematics_base)
add_library(${MOVEIT_LIB_NAME} src/ik_cache.cpp)
set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")
target_link_libraries(${MOVEIT_LIB_NAME}
    ${Boost_FILESYSTEM_LIBRARY}
    ${catkin_LIBRARIES})
install(TARGETS ${MOVEIT_LIB_NAME} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})

if(trac_ik_kinematics_plugin_FOUND)
    include_directories(${trac_ik_kinematics_plugin_INCLUDE_DIRS})
endif(trac_ik_kinematics_plugin_FOUND)

set(MOVEIT_LIB_NAME moveit_cached_ik_kinematics_plugin)
add_library(${MOVEIT_LIB_NAME} src/cached_ik_kinematics_plugin.cpp)
set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")
target_link_libraries(${MOVEIT_LIB_NAME}
    moveit_cached_ik_kinematics_base
    moveit_kdl_kinematics_plugin
    moveit_srv_kinematics_plugin
    ${catkin_LIBRARIES})
if(trac_ik_kinematics_plugin_FOUND)
    target_link_libraries(${MOVEIT_LIB_NAME} ${trac_ik_kinematics_plugin_LIBRARIES})
    set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES COMPILE_DEFINITIONS "CACHED_IK_KINEMATICS_TRAC_IK")
endif()
install(TARGETS ${MOVEIT_LIB_NAME} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})

# This is just for testing purposes; the arms from Universal Robots have
# analytic solvers, so caching just adds extra overhead.
if(ur_kinematics_FOUND)
    include_directories(${ur_kinematics_INCLUDE_DIRS})
    foreach(UR 3 5 10)
        set(MOVEIT_LIB_NAME moveit_cached_ur${UR}_kinematics_plugin)
        add_library(${MOVEIT_LIB_NAME} src/cached_ur_kinematics_plugin.cpp)
        set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")
        find_library(ur${UR}_pluginlib ur${UR}_moveit_plugin PATHS ${ur_kinematics_LIBRARY_DIRS})
        target_link_libraries(${MOVEIT_LIB_NAME}
            moveit_cached_ik_kinematics_base
            ${ur${UR}_pluginlib}
            ${catkin_LIBRARIES})
        install(TARGETS ${MOVEIT_LIB_NAME} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})
    endforeach()
endif()

add_executable(measure_ik_call_cost src/measure_ik_call_cost.cpp)
target_link_libraries(measure_ik_call_cost
    ${catkin_LIBRARIES}
    ${Boost_PROGRAM_OPTIONS_LIBRARY})
install(TARGETS measure_ik_call_cost DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

install(DIRECTORY include/ DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION})
install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})

有人可以帮我找到包裹或指出错误吗?您的帮助/建议将不胜感激。

谢谢你。

标签: roscatkinmoveit

解决方案


错误说得很清楚,它找不到ur_moveit_plugin。将其添加到find_package()CMakeLists.txt 部分。确保在你的 catkin 工作区中安装或克隆了包。您添加了find_package(wr3_moveit_plugin REQUIRED),但错误是 about ur,但可能是错字。


推荐阅读