Ryanc30140 2023-10-09 13:00 采纳率: 80%
浏览 4
已结题

Ubuntu18.04中vscode在进行服务通信自定义srv中出错

img


Ubuntu18.04中vscode在进行服务通信自定义srv中,代码编写中,AddIntsRequest为灰色,之后程序运行不了,什么原因啊,有什么办法

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-10-10 18:38
    关注

    引自强大而免费的微信小程序:皆我百晓生。


    在Ubuntu18.04中使用vscode编写和运行ROS服务通信代码时,如果自定义的srv文件中定义的请求类型(例如AddIntsRequest)出现灰色,通常是因为缺少相关的依赖包。

    首先,请确保已经安装了所需的ROS依赖包。可以使用以下命令安装:

    sudo apt-get install ros-melodic-roscpp-msgs
    

    此外,还需要在CMakeLists.txt文件中添加以下内容:

    find_package(catkin REQUIRED COMPONENTS
      roscpp
      std_msgs  # 如果使用了std_msgs消息类型
      message_generation  # 如果使用了自定义消息类型
    )
    
    add_service_files(
      FILES
      AddInts.srv  # 将您的srv文件名添加到此处
    )
    
    generate_messages(
      DEPENDENCIES
      std_msgs  # 如果使用了std_msgs消息类型
    )
    
    catkin_package(
      CATKIN_DEPENDS roscpp
    )
    

    然后重新编译您的ROS包:

    catkin_make
    

    如果以上步骤都正确执行,那么AddIntsRequest不再显示为灰色,并且您应该能够成功运行您的程序。

    希望这个回答对您有帮助!如果您还有任何问题,请随时提问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月8日
  • 已采纳回答 7月31日
  • 创建了问题 10月9日