PCL1.8之features模块编译预处理PCL_ONLY_CORE_POINT_TYPES
2016-09-28 23:35
459 查看
最近要用到PCL,先编译了1.7版本,发现features模块下面的pcl_features_release.lib和pcl_features_debug.lib都接近40M大小;但是后来编译了1.8版本之后,发现这两个文件都是6M多一点。在理论上1.8版本这个模块还多几个.cpp和.hpp,1.8生成的.lib应该要大一些啊,但是事实却相反,不禁引起了我的兴趣,想要一探究竟。
后来发现原来是1.8版本中的features模块加了一个编译预处理命令:PCL_ONLY_CORE_POINT_TYPES,只对这个模块编译一些核心的point_types,而1.7中则是对所有的类型都进行了编译,自然要大一些了。
作者之所以这样做,应该是由于visual studio中对单个.obj文件的链接文件不能超过65536的限制,才使用了这个方法。具体的可以参考这个讨论:https://github.com/PointCloudLibrary/pcl/issues/833
但是使用PCL_ONLY_CORE_POINT_TYPES预处理命令得到的.lib,我们在使用的时候,需要在.cpp中添加相应的.hpp文件,这样才不会报错
后来发现原来是1.8版本中的features模块加了一个编译预处理命令:PCL_ONLY_CORE_POINT_TYPES,只对这个模块编译一些核心的point_types,而1.7中则是对所有的类型都进行了编译,自然要大一些了。
作者之所以这样做,应该是由于visual studio中对单个.obj文件的链接文件不能超过65536的限制,才使用了这个方法。具体的可以参考这个讨论:https://github.com/PointCloudLibrary/pcl/issues/833
但是使用PCL_ONLY_CORE_POINT_TYPES预处理命令得到的.lib,我们在使用的时候,需要在.cpp中添加相应的.hpp文件,这样才不会报错
相关文章推荐
- jQuery 1.8源码分析 core.js核心模块 jQuery对象的构造分析
- eclipse编译Syntax error, parameterized types are only available if source level is 5.0
- VB6:关于“Only public user defined types defined in public object modules can be used as parameters or return types for public procedures of class modules or as fields of public user defined types.”的编译错误
- 解决qt4.8中tst_qwebpage/tst_qwebview/tst_qwebframe/webcore(QtWebKit4.dll)模块编译失败问题
- eclipse编译Syntax error, parameterized types are only available if source level is 5.0
- 每日积累(20161209-day-15)(VTK7.1编译OpenGL&OpenGL2 PCL1.8)
- 用第三方预编译包从源码在windows下搭建PCL(Point Cloud Library)开发环境
- ubuntu14.04 编译源码安装PCL1.8
- PCL-1.8 源码包完全编译(WIN7/VS2013/x64)
- eclipse编译Syntax error, parameterized types are only available if source level is 5.0
- PCL-1.8 编译指南(WIN8/VS2013/x64)
- PCL(PointCloud Library) 于 Ubuntu 16.04的编译安装
- VB模拟指针模块mPoint.bas
- 在fedora core4下编译内核
- 为你的Linux快速编译所需要的模块
- C++学习体会--预处理,编译过程,连接过程
- ActivePerl5.8.8 build 819编译CPAN模块时出错的解决方法
- 关于模块编译管理
- VB模拟指针模块mPoint.bas
- 编译2.6内核模块出问题了,尚未解决.............