【问题标题】:Invoking "cmake" failed调用“cmake”失败
【发布时间】:2019-08-15 23:31:12
【问题描述】:

我正在尝试构建 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})

有人可以帮我找到包裹或指出错误吗?非常感谢您的帮助/建议。

谢谢。

【问题讨论】:

标签: ros catkin moveit


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    所有包含 MoveIt 标头的包都必须使用 C++11 标准进行编译。因此,您需要添加该行

    #Enable C++11
    add_compile_options(-std=c++11)
    

    CMakeLists.txt 的开头。

    【讨论】:

    • 加上这些行还是不行。
    【解决方案3】:

    我在安装catkin_make -j8 时遇到了这个Invoking "cmake" failed 错误,当时我激活了我的虚拟环境。然后你应该尝试在 Python 基础环境中安装它。如果这没有帮助,请按照 Installing OpenCV fails because it cannot find “skbuild” 的想法进行操作,例如重新安装 catkin 或 sudo apt install python-pip

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-17
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      • 2014-06-01
      • 2018-11-18
      • 2017-02-26
      相关资源
      最近更新 更多