ubuntu调试arduino程序出现找不到<string>

本文介绍了一种在Ubuntu+ROS+Arduino环境下定义自定义消息类型时遇到的问题及解决方案。通过删除特定文件夹并运行指定命令,可以解决编译过程中出现的头文件缺失问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在赶一个项目,在调试arduino的程序时遇到一个问题无法解决,整了好几天,问了好多人,还是没有解决,最后发现合作伙伴的可以运行,他指点之后解决了,嘿嘿…
问题描述:
我的运行环境是ubuntu+ros+arduino,当我们自定义消息类型,*.msg文件内容如下:

int16 base
int16 arti1
int16 arti2
int16 arti3
int16 pinza

这里的int16是类型,base,arti1等其他的是变量,当我定义好消息后,shell窗口运行命令,

rosmake packname

在几秒后会看到:
这里写图片描述
说明功能包编译成功。
问题来了,当我们在调试arduino程序时会用到刚才定义的消息的头文件,如果没有的话就会出现以下问题:
这里写图片描述
这时候你需要做的是把sketchbook/libraries/ros_lib删了,在shell窗口中运行以下命令:

rosrun rosserial_client make_library.py ~/sketchbook/libraries packname

这个问题就解决了~·~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值