(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