根据您提供的截图,可以看出是找不到对应的消息类型文件。这可能是因为您没有安装或者编译对应的ROS包。您可以尝试以下步骤解决问题:

确认消息类型所在的ROS包

您可以在代码中查看消息类型的定义,例如:

#include #include int main(int argc, char **argv) { ros::init(argc, argv, "talker"); ros::NodeHandle n; ros::Publisher chatter_pub = n.advertise("chatter", 1000); ros::Rate loop_rate(10); int count = 0; while (ros::ok()) { std_msgs::String msg; std::stringstream ss; ss -

其中为ROS的发行版名称,为需要安装的ROS包名称。例如,如果您需要安装std_msgs包,可以使用以下命令:

sudo apt-get install ros--std-msgs

如果您需要编译对应的ROS包,可以使用以下命令:

cd /src git clone https://github.com/ros/.git cd .. catkin_make

其中为您的catkin工作空间路径,为需要编译的ROS包名称。例如,如果您需要编译std_msgs包,可以使用以下命令:

cd ~/catkin_ws/src git clone https://github.com/ros/std_msgs.git cd .. catkin_make 确认消息类型是否存在

如果您已经安装或编译了对应的ROS包,但是仍然无法找到消息类型文件,可以尝试在ROS包的目录下查找消息类型文件。例如,如果您需要查找std_msgs/String.msg文件,可以使用以下命令:

rospack find std_msgs

该命令会返回std_msgs包的路径,您可以在该路径下查找String.msg文件。

希望以上步骤可以帮助您解决问题。