windows11 解决matlab使用自定义rosmsg问题

准备环境

1、windows 11
2、Matlab2021a
3、cmake 3.17.1
4、Microsoft Visual C++ 2019

亲测安装rosmsg编译成功。
在这里插入图片描述

出现画红框的这三个步骤们就说明rosmsg使用matlab编译成功了;

创建rosmsg

新创建一个文件夹,如我创建的msg_common,该文件夹结构如下:
在这里插入图片描述
包含定义的消息文件夹planning_msg,planning_msg包含msg(存放自定义的.msg格式消息)和package.xml文件,package.xml没显示出来;

package.xml编写

需要注意的是 <name>planning_msgs</name>中间这个名字一定要和编译的msg保持一致,否则编译会失败,我自定义的msg是planning_msgs,所以这里写的是planning_msgs;
下面贴上我的这个文件内容:

<?xml version="1.0"?>
<package format="2">
  <name>planning_msgs</name>
  <version>0.0.0</version>
  <description>The planning_msgs package</description>

  <maintainer email="alex@todo.todo">alex</maintainer>
  <license>TODO</license>

  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>message_generation</build_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>geometry_msgs</build_depend>
  <build_export_depend>message_generation</build_export_depend>
  <build_export_depend>roscpp</build_export_depend>
  <build_export_depend>std_msgs</build_export_depend>
  <build_export_depend>geometry_msgs</build_export_depend>  
  <exec_depend>roscpp</exec_depend>
  <exec_depend>std_msgs</exec_depend>
  <exec_depend>geometry_msgs</exec_depend>
  <exec_depend>message_runtime</exec_depend>
  <export>

  </export>
</package>

编译自定义msg

由于我编译的是ros1的消息,所以直接使用rosgenmsg进行编译,编译的选择到消息的上一级目录,下面是我的编译命令:

rosgenmsg('E:\Lu_Procedure\TEST\msg_common\')

编译成功

等matlab出现红框的这三个步骤以及左上角的matlab_msg_gen_ros1,就表示成功了,按照提示的三个步骤操作就可以使用自己定义的msg了;
这里值得注意的是编译不成功的时候也会出现matlab_msg_gen_ros1文件夹,但是不会出现这三个步骤,而且matlab会进行报错
在这里插入图片描述

报错及解决办法

1、编译时选择的文件夹不对,导致编译失败;

这个提示是变异的文件夹中找不到msg,是因为直接选了消息文件夹,应该选择上一层文件夹;
在这里插入图片描述

2、matlab编译器配置错误

没有编译rosmsg之前使用的MinGW64 Compiler ,在编译msg时,显示不支持ros build,后来改选程vs2019,即可编译成功;设置matlab编译器时可以输入mex -setup查看matlab当前使用的什么编译器,然后也可以进行配置,非常方便。
在这里插入图片描述

其他的暂时没有遇到问题,如果大家在使用的时候遇到问题,可以进行留言交流。

本文转载时请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

埋头苦干的墨小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值