【PCL】C4996报错问题解决

问题描述

C4996错误是在配置PCL过程比较常见的错误,通常报错有两类,第一类如下图所示:

报错关键信息:

std::fpos<_Mbstatet>::seekpos':warning STL4019

第二类如图所示:

报错关键信息是:

PCL::SAC_SAMPLE_SIZE:This map is deprecated and is kept only to prevent breaking existing user code.

解决办法

为了解决这个问题,我们需要在属性管理器中修改属性页配置

步骤:打开当前使用的属性页(注意配置和平台是否和当前使用一致)-->C/C++-->预处理器-->预处理定义

具体页面如下图所示:

打开预处理定义后,输入以下内容:

_CRT_SECURE_NO_WARNINGS
_SCL_SECURE_NO_WARNINGS
_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING

不论Debug还是Release都要按上面这样配置预处理器定义,上述配置方式可以解决第一类报错

如果要解决第二类报错:

步骤:打开当前使用的属性页-->C/C++-->常规-->SDL检查

将SDL检查的值从“是”改成“否”

具体位置如下图所示:

注意:这里有一个坑,如果你的属性页是外部导入的,那么你还需要修改一个属性页的SDL检查值

打五角星的位置右键-->属性,在同样的位置修改SDL检查,Debug同理

按上面的方式操作以后,就可以解决这个问题。

posted @ 2023-09-05 17:18  SeanSiyang  阅读(126)  评论(0编辑  收藏  举报