PCL报错整理

5 篇文章 0 订阅

PCL报错整理


error C2065: ‘pop_t‘

错误双击,进入dist.h文件,进行修改,将503行代码移动到480行前面


pcl/2d/impl/kernel.hpp: No such file or directory
1.9.1
需要下载这个文件
D:\Program\PCL_1_9_1\include\pcl-1.9\pcl\2d\impl


EuclideanClusterExtraction 相关库链接错误
https://blog.csdn.net/sinat_24206709/category_6118181.html


pcl::BilateralFilter双边滤波器

error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall pcl::BilateralFilter<struct pcl::PointXYZ>::applyFilter(class pcl::PointCloud<struct pcl::PointXYZ> &)" (?applyFilter@?$BilateralFilter@UPointXYZ@pcl@@@pcl@@UAEXAAV?$PointCloud@UPointXYZ@pcl@@@2@@Z)

pcl::BilateralFilter<pcl::PointXYZ> bf; 改为 pcl::BilateralFilter<pcl::PointXYZ>::Ptr bf;


同时使用opencv和pcl库的朋友会遇到Flann冲突的问题。究其根本是因为两个库同时使用了flann,造成歧义

解决方案如下:
首先,注意添加include路径顺序, 先pcl库后opencv
然后,编译会遇到错误代码:lines that were complaining about ‘flann’ : ambiguous symbol
could be ‘flann’
or ‘cv::flann’
表明flann有歧义,pcl和opencv都使用,产生了冲突。
最后,在错误处给flann前加::作用域运算符,限制其作用域。估计错误应该就能搞定。

附:混合多个函数库时尽量使用如std:: cv:: pcl:: 等来代替使用 using namespace std,using namespace pcl,using namespace cv


PCL vtkAtomic.h(358): error C2872: “detail”: 不明确的符号
修改vtkAtomic.h中的typedef detail::AtomicOps<...> ...
在detail之前加上::限定命名空间。


PCL库VTK显示点云法向时出错:no override found for vtkActor

错误:no override found for vtkActor

解决办法:

  1. 头文件中添加
    #include <vtkAutoInit.h>
    VTK_MODULE_INIT(vtkRenderingOpenGL);
  2. opengl32.lib 加入到链接器->输入->附加依赖项

error C4996: vtkMapper::ImmediateModeRenderingOff
c:\program files\pcl 1.9.1\3rdparty\vtk\include\vtk-8.1\vtkmapper.h(218): note: 参见“vtkMapper::ImmediateModeRenderingOff”的声明
解决办法:将sdl选择否


pcl报错:C2116和C2733
https://blog.csdn.net/qq_41017802/article/details/103482535
解决方案:
在vs该项目的属性中,点击C/C++,选择预处理器中的预处理器定义加入
NOMINMAX
BOOST_USE_WINDOWS_H
原因如下:
(1)NOMINMAX
出错文件的标准库在头中定义了两个模板函数std::min() 和 std::max()。
但是我们在 Visual C++ 中无法使用,因为没有定义过这些函数模板,也就是说min和max与传统的min/max宏定义有冲突。需要添加该行“NOMINMAX”与配置属性中,禁用Visual C++ 的min/max宏定义。
(2)BOOST_USE_WINDOWS_H
因为本电脑更新了vs,导致使用pcl有问题,报错显示无法使用“C”链接,也就是函数重载的问题,最为便捷的方法就是在项目的属性中添加预处理器定义“BOOST_USE_WINDOWS_H”,保证函数正常加载。


打开属性窗口
![在这里插入图片描述](https://img-blog.csdnimg.cn/c5a22ffc7431423ebdcea8075dde34c1.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值