鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    c++ 节点创建 CmakeLIST文件添加头文件和库 cmake命令没有报错,make命令报错

    已定时 已固定 已锁定 已移动 未解决
    综合问题
    找不到rclcpp头文件 make命令报错
    1
    2
    109
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 9
      952680691
      最后由 编辑

      Cmake命令执行:
      lei-wang@lei-wang-VMware-Virtual-Platform:~/robot1$ cmake .
      -- Found rclcpp: 28.1.8 (/opt/ros/jazzy/share/rclcpp/cmake)
      -- Found rosidl_generator_c: 4.6.5 (/opt/ros/jazzy/share/rosidl_generator_c/cmake)
      -- Found rosidl_generator_cpp: 4.6.5 (/opt/ros/jazzy/share/rosidl_generator_cpp/cmake)
      -- Using all available rosidl_typesupport_c: rosidl_typesupport_fastrtps_c;rosidl_typesupport_introspection_c
      -- Using all available rosidl_typesupport_cpp: rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_introspection_cpp
      -- Found rmw_implementation_cmake: 7.3.2 (/opt/ros/jazzy/share/rmw_implementation_cmake/cmake)
      -- Found rmw_fastrtps_cpp: 8.4.2 (/opt/ros/jazzy/share/rmw_fastrtps_cpp/cmake)
      -- Using RMW implementation 'rmw_fastrtps_cpp' as default
      -- /opt/ros/jazzy/include/rclcpp/opt/ros/jazzy/include/builtin_interfaces/opt/ros/jazzy/include/libstatistics_collector/opt/ros/jazzy/include/rcl/opt/ros/jazzy/include/rcl_interfaces/opt/ros/jazzy/include/rcl_yaml_param_parser/opt/ros/jazzy/include/rcpputils/opt/ros/jazzy/include/rcutils/opt/ros/jazzy/include/rmw/opt/ros/jazzy/include/rosgraph_msgs/opt/ros/jazzy/include/rosidl_dynamic_typesupport/opt/ros/jazzy/include/rosidl_runtime_c/opt/ros/jazzy/include/rosidl_runtime_cpp/opt/ros/jazzy/include/rosidl_typesupport_cpp/opt/ros/jazzy/include/statistics_msgs/opt/ros/jazzy/include/tracetools

      -- Configuring done (0.5s)
      -- Generating done (0.0s)
      -- Build files have been written to: /home/lei-wang/robot1

      make命令执行:
      lei-wang@lei-wang-VMware-Virtual-Platform:~/robot1$ make
      [ 50%] Building CXX object CMakeFiles/ros2_cpp_node.dir/ros2_cpp_node.cpp.o
      In file included from /opt/ros/jazzy/include/rcl_interfaces/rcl_interfaces/srv/list_parameters.hpp:7,
      from /opt/ros/jazzy/include/rclcpp/rclcpp/copy_all_parameter_values.hpp:21,
      from /opt/ros/jazzy/include/rclcpp/rclcpp/rclcpp.hpp:171,
      from /home/lei-wang/robot1/ros2_cpp_node.cpp:2:
      /opt/ros/jazzy/include/rcl_interfaces/rcl_interfaces/srv/detail/list_parameters__struct.hpp:267:10: fatal error: service_msgs/msg/detail/service_event_info__struct.hpp: No such file or directory
      267 | #include "service_msgs/msg/detail/service_event_info__struct.hpp"
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      make[2]: *** [CMakeFiles/ros2_cpp_node.dir/build.make:76: CMakeFiles/ros2_cpp_node.dir/ros2_cpp_node.cpp.o] Error 1
      make[1]: *** [CMakeFiles/Makefile2:85: CMakeFiles/ros2_cpp_node.dir/all] Error 2
      make: *** [Makefile:101: all] Error 2

      这是CmakeLISTS文件内容

      cmake_minimum_required(VERSION 3.8)
      project(ros2_cpp)
      add_executable(ros2_cpp_node ros2_cpp_node.cpp)

      find_package(rclcpp REQUIRED)
      message(STATUS ${rclcpp_INCLUDE_DIRS})
      message(STATUS ${rclcpp_LIBRAIES})

      target_include_directories(ros2_cpp_node PUBLIC ${rclcpp_INCLUDE_DIRS})
      target_link_libraries(ros2_cpp_node ${rclcpp_LIBRAIES})

      1 条回复 最后回复 回复 引用 0
      • 9
        952680691
        最后由 编辑

        已找到问题点:安装的jazzy版本没有service相关的文件,target时出错,重新安装虚拟机,装humble版本后问题解决

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS