error C4996: 'pcl::SAC_SAMPLE_SIZE': PCL1.8问题汇总

问题1

错误信息

今天使用PCL1.8编译官方教程中ICP例子时,出现下列错误:

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

解决方法

感谢pcl学习群的codeman
打开项目属性页>C/C++>常规>SDL检查(设置为否)。
error C4996: 'pcl::SAC_SAMPLE_SIZE': PCL1.8问题汇总_第1张图片
重新编译,原先的错误信息变成了警告。

问题2

错误信息

conditional_euclidean_clustering.obj : error LNK2001: 无法解析的外部符号 "public: void __cdecl pcl::ConditionalEuclideanClustering<struct pcl::PointXYZINormal>::segment(class std::vector<struct pcl::PointIndices,class std::allocator<struct pcl::PointIndices> > &)" (?segment@?$ConditionalEuclideanClustering@UPointXYZINormal@pcl@@@pcl@@QEAAXAEAV?$vector@UPointIndices@pcl@@V?$allocator@UPointIndices@pcl@@@std@@@std@@@Z)
1>conditional_euclidean_clustering.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __cdecl pcl::NormalEstimation<struct pcl::PointXYZI,struct pcl::PointXYZINormal>::computeFeature(class pcl::PointCloud<struct pcl::PointXYZINormal> &)" (?computeFeature@?$NormalEstimation@UPointXYZI@pcl@@UPointXYZINormal@2@@pcl@@MEAAXAEAV?$PointCloud@UPointXYZINormal@pcl@@@2@@Z)
1>E:\VisualStudio2013Project\PCLConsoleApplication\x64\Release\ConditionalEuclideanClustering.exe : fatal error LNK1120: 2 个无法解析的外部命令

在所有库都配置的情况下,若出现上述问题。

解决方法

打开项目属性页>C/C++>预处理器,添加:

PCL_NO_PRECOMPILE

你可能感兴趣的:(C++,PCL,errorC4996,PCL1-8)