安装livox_ros_driver报错解决

文章讲述了用户在使用Ubuntu20.04和ROSNoetic时安装Livox_ros_driver遇到关于pcl和ros消息转换的错误,通过在特定代码行修改指针操作解决了问题。
摘要由CSDN通过智能技术生成

使用ubuntu20.04,ros noetic 安装livox_ros_driver遇到如下报错:

home/robot/ws_livox/src/livox ros_driver/livox ros_driver/lddc.cpp:344:31:
required from here

opt/ros/noetic/include/ros/message traits.h:125:14: error: 'const class std::sh
ared_ptr<pcl::PointCloud<pcl::PointXYZI> s’ has no member named (
-_getMD5Sum
125    getMD5Sum().c str();
 

/opt/ros/noetic/include/ros/serialization.h:145:14: error:
"const class std::shar
ed ptrspcl::Pointcloudspcl::PointXYZ1> > has no member named 'serializationlen
gth
145  return t.serializationLength():

大部分方法都是在报错的文件里加入头文件#include <pcl_ros/point_cloud.h>,但是这些文件里原本就有这个头文件,所以这个方法没用。

这个报错的原因是pcl和ros之间的消息转换问题。首先找到报错的文件,我这里是lddc.cpp的344行。把

p.publisher->publish(cloud);

改为

p.publisher->publish(*cloud);

还有347行的cloud 改为*cloud。

重新编译即可

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值