PCL RSS2011_Feature源码在PCL1.9.1 VS2017环境下Bug修改记录

本文记录了在VS2017环境下,使用PCL1.9.1编译RSS2011_feature源码时遇到的问题及解决过程。主要涉及boost::shared_ptr类型转换错误、vtkMapper的警告以及C2440错误。通过查阅资料和PCL教程,成功解决了KdTree类型不匹配和编译警告,加深了对PCL库和C++智能指针的理解。
摘要由CSDN通过智能技术生成

这部分源码中很好的展现了调用PCL库中各个模块用于实现点云拼接,但源码由于是2011年的版本,PCL库有所更新,现在编译会存在一些问题,记录解决办法如下:

问题1:E0312 不存在用户定义的从 “boost::shared_ptr<pcl::KdTreeFLANN<pcl::PointXYZRGB, flann::L2_Simple>>” 到 “const boost::shared_ptr<pcl::search::Searchpcl::PointXYZRGB>” 的适当转换

解决思路:刚开始我认为只是由于不能传递非const实参到const形参,所以加了const进行强制转换,结果还是不行,const关键词的相关知识理解还不到位;
后续直接将错误提示进行google搜索,未找到合适的解决办法;突然想到把错误行代码直接google搜索,说不定就有相同功能的不同实现代码可以替代,或是有作者给出解决方案,最后在2014年的一个pcl_tutorial中找到了后续PCL库版本中的kdtree搜索实现代码,刚开始只是更换错误部分,仅将pcl::KdTreeFLANN替换为pcl::search::KdTree,该错误解决。

问题2:错误 C4996 ‘vtkMapper::ImmediateModeRenderingOff’: 被声明为已否决

解决思路:直接百度错误代码,有两种解决办法:
1、将属性——C/C++——常规中的sdl检查改为否;参考链接:错误4996

2、在程序代码最前面添加 #pragma warning(disab

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值