(1)error c4996: 'fopen': This function or variable may be unsafe
解决方法:项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加: _CRT_SECURE_NO_DEPRECATE。
参考博文:https://blog.csdn.net/wangyang20170901/article/details/78810068
(2)...\flann\algorithms\dist.h(523): error C3861: “pop_t”: 找不到标识符
解决方法:双击该行输出直接打开dist.h头文件;将第503行的typedef unsigned long long pop_t;
移动到第480行前面。
参考博文:https://blog.csdn.net/weixin_41991128/article/details/83864713
(3)boost\typeof\msvc\typeof_impl.hpp(125): error C2988: 不可识别的模板声明/定义
解决方法:可以代码的源文件最开头的位置加上对BOOST_TYPEOF_EMULATION的定义:
#define BOOST_TYPEOF_EMULATION
#include <pcl\registration\icp.h>
参考博文:https://blog.csdn.net/qq_39031960/article/details/83544928
(4)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检查(设置为否)。
参考博文:https://blog.csdn.net/qing101hua/article/details/70739391
(5)Failed to find match for field 'rgba'.(例子5-1)
解决方法:用word打开pcd文件查看的类型,发现 Fields不包含RGBA。将PCL::PointXYZRGBA修改为pcl::PointXYZ。
(6) Error:no override found for 'vtkPolyDataMapper'(例子5-1)
解决方法:在源文件的开头加上:
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL);
VTK_MODULE_INIT(vtkInteractionStyle);
参考博文:https://blog.csdn.net/zzh_AI/article/details/88861221
(7) error C2039: “camera_”: 不是“pcl::visualization::PCLVisualizer”的成员(例5-2)
解决方法:最新的pcl已经没有camera_成员了。所以需要替换为:
viewer.camera_.pos[0] = pos_vector[0];
viewer.camera_.pos[1] = pos_vector[1];
viewer.camera_.pos[2] = pos_vector[2];
viewer.camera_.focal[0] = look_at_vector[0];
viewer.camera_.focal[1] = look_at_vector[1];
viewer.camera_.focal[2] = look_at_vector[2];
viewer.camera_.view[0] = up_vector[0];
viewer.camera_.view[1] = up_vector[1];
viewer.camera_.view[2] = up_vector[2];
/***将以上的代码替换为以下函数*****/
viewer.setCameraPosition(pos_vector[0], pos_vector[1], pos_vector[2],
look_at_vector[0], look_at_vector[1], look_at_vector[2],
up_vector[0], up_vector[1], up_vector[2]);
参考博文:https://www.cnblogs.com/li-yao7758258/p/6444207.html
(8)range_image_visualization.cpp(129): error C3861: “sleep”: 找不到标识符(pcl_sleep识别不了。例5-2)
解决方法:定位到pcl_sleep的头文件pcl_macros.h,修改pcl_sleep的宏定义sleep(x) 为Sleep(x),【首字母大写】
参考博文:https://blog.csdn.net/m0_37906001/article/details/97785515