PCL代码运行中遇到的错误以及解决

遇到挺多错的,这些是出现次数比较多的,感觉都已经形成肌肉记忆了,哈哈哈,由于不知道解决方案在哪些CSDN上看的,反正是解决了,姑且记录一下吧~

ps:事实证明,写博客还是很有用的,我说怎么看报的这个错这么眼熟!呜呜呜

  • 错误C3861 “pop. _t”:找不到标识符

    解决:点击错误列表的报错项,进入dist.h文件,将503行的typedef unsigned long long pop_t语句转移到#if __GNUC__之前即可。

  • error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(Extract_Planes.obj 中)
    在这里插入图片描述
    打开项目属性页–>C/C++ –>代码生成–>运行库,更换其他选项试试
    在这里插入图片描述
    注:如果改完之后出现
    LINK2001 无法解析的外部符号 __imp_xxx这样的错误,有可能是附加依赖库中缺少opengl32.lib,在库中添加 “opengl32.lib”即可,也可以在头上添加#pragma comment(lib,“opengl32.lib”)

  • Error: no override found for ‘vtkActor‘. 或者
    引发异常 0xC0000005: 写入位置 0x0000000000000158 时发生访问冲突
    一般出现下面的语句就会报错:
    view->addPointCloudNormals<pcl::PointNormal>(mls_points_normal, 10, 10, "normal");在这里插入图片描述
    解决方法:

  • 将以下两条语句放在头文件的开头部分

    #include <vtkAutoInit.h>
    VTK_MODULE_INIT(vtkRenderingOpenGL);
    
  • 在项目的属性页添加两个配置文件:
    opengl32.lib
    vtkRenderingVolumeOpenGL-8.0.lib(根据自己安装的PCL库中的版本)

  • error C4996: ‘pcl::SAC_SAMPLE_SIZE’: This map is deprecated and is kept only to prevent breaking existing user code. Starting from PCL 1.8.0 model sample size is a protected member of the SampleConsensusModel class

    解决方法:打开项目属性页–>C/C++ –>常规–>SDL检查改成否

  • typeof_impl.hpp报错
    在这里插入图片描述
    解决方法:
    在最顶部添加 #define BOOST_TYPEOF_EMULATION
    原文链接:https://blog.csdn.net/sinat_42513925/article/details/106749457

  • 0x00007FF689B2BF53 处有未经处理的异常(在 FPFH.exe 中): 0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突

  • 原因:一般情况下是因为读取或写入文件的路径发生了错误。
    在这里插入图片描述
    这里的路径 D:\table_scene_lms400是 错误的。
    应该改为D:\table_scene_lms400。否则就会报错
    (要么干脆别写,直接把文件弄到源cpp一个文件夹下吧)
    原文链接:https://blog.csdn.net/qq_43622114/article/details/97091868

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注