来自微信公众号的分享
我刚刚开始接触PCL,懂的东西也很少,所以总是出现各种各样的问题,每次遇见问题的时候要查找各种各样的资料,很费时间。所以,今天我把我遇见的常见问题分享给大家,讲解的步骤尽量详细,让和我一样基础差的小伙伴能尽快进入到PCL点云库的学习中,希望能和大家进步。
运行环境:PCL-1.8.0-AllInOne-msvc2013-win64,是64位的,VS2013英文版。
问题1:如何获取PCD文件。之前有小伙伴问我如何获取pcd文件,我知道这是很基础的问题,但是新手常常会问这个问题,也包括我自己学习刚刚开始学习的时候。通常有两种方法,
way1:一种是通过cloudcompare软件进行转换,该软件可以到它的官网下载,这对于新手比较直接。
Way2:写代码自己转。
问题2:错误提示为1.IntelliSense: cannot open source file "pcl/io/pcd_io.h" c:\visual 等如下图所示,要检查一下自己的是不是把编译平台已经更改为64位的。
解决方法:
步骤1:
步骤2:
问题3:报错类似的问题如
Error 3 error C4996: ‘std::_Uninitialized_copy0‘:Function call with parameters that may be unsafe - this call relies on thecaller to check that the passed values are correct. To disable this warning,use -D_SCL_SECURE_NO_WARNINGS.See documentation on how to use Visual C++ ‘Checked Iterators‘ C:\Program Files (x86)\Microsoft VisualStudio 12.0\VC\include\xmemory 348
解决方法:
步骤1:打开属性表;
步骤2:将_SCL_SECURE_NO_WARNINGS添加在预处理器定义里如如所示
注意:若上述提示的错误信息是C4996:’fopen’*******_CRT_SECURE_NO_WARNINGS********的问题,按照上述步骤将_CRT_SECURE_NO_WARNINGS添加到预处理器定义中即可。
问题4:编译的时候遇到如下错误提示
error C4996: ‘pcl::SAC_SAMPLE_SIZE‘: Thismap is deprecated and is kept only to prevent breaking existing user code. Startingfrom PCL 1.8.0 model sample size is a protected member of theSampleConsensusModel class.
这是程序生命周期检查出现的问题。
解决方法:
打开项目属性页>C/C++>常规>SDL检查(设置为否)。
问题5:编译的时候遇到如下错误提示
error C1128: number of sections exceededobject file format limit : compile with /bigobj
解决方法:
右键项目,properties(属性)-> Configuration Properties(配置属性) -> C/C++-> Command Line(命令行) -> Additional options(其他选项),然后加上 /bigobj属性,确定,然后重新编译即可。
在这里非常感谢这位同学,这样分享总结,我十分感动啊,我的初衷就是希望大家可以这样分享,给初学者提供一点建议。相互学习进步。
所以建议在学习一段时间之后,能写一点总结分享大家
感兴趣者扫描二维码关注微信公众号,后台可直接私信我