ros - 调用“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})
有人可以帮我找到包裹或指出错误吗?您的帮助/建议将不胜感激。
谢谢你。
解决方案
错误说得很清楚,它找不到ur_moveit_plugin
。将其添加到find_package()
CMakeLists.txt 部分。确保在你的 catkin 工作区中安装或克隆了包。您添加了find_package(wr3_moveit_plugin REQUIRED)
,但错误是 about ur
,但可能是错字。
推荐阅读
- linux - 从 5.0.7 升级到 dse 6.7.5 后索引分区出错
- typescript - 如何通过控制流缩小变量类型?
- javascript - 通过ajax将数据附加到表中
- c# - 如何将详细信息的重定向按钮添加到自动填充 Gridview 中?
- python - isinstance 替代检查作为父类或子类返回flase的类
- laravel - Laravel Docker 无法插入数据
- mysql - 根据以前的数据获取时间段的唯一值的数量
- react-native - 将 apk 更新到 Playstore
- google-apps-script - 如何通过比率连接单元格的值?
- swagger - Springfox/swagger 忽略 @XmlElements