从源码搭建PCL1.7.2+vs2015+win10

本文详细介绍PCL(点云库)的安装过程,包括使用All-In-One installer快速安装及从源码编译的方法。涉及必备第三方库如Boost、Eigen等的编译配置技巧,并针对常见编译错误提供解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  PCL是处理三维点云的第三方C++库,功能强大,在三维领域,其地位与二维领域的opencv相当。可以直接使用All-In-One installer 安装。也可以使用源码搭建PCL。

  从官网下载源码。下载CMake。编译PCL,必需先编译有以下第三方库:Boost、Eigen、FLANN、VTK,可选的第三方库有:Qt、QHULL、OpenNI、GTest。

Eigen、FLANN、VTK使用cmake-gui编译。可参考博客

Eigen只生成头文件,不区分debug和release, 其他需要区分debug和release,需添加一个entry, Name:CMAKE_DEBUG_POSTFIX,Type:STRING,Value:-gd。另外要将CMAKE_INSTALL_PREFIX这个选项改为相应的源码文件。

注意:

1、若使用64位的项目,需要编译64位的boost。从开始菜单启动Visual Studio的VS2015 x64 Native Tools Command Prompt ,进入boost源码目录,运行bootstrap.bat。然后运行b2 --build-type=complete toolset=msvc-14.0 address-model=64,其中toolset对应于visual studio版本。

2、编译VTK时可能会提醒缺少window.h。在vs2015的Property Manager中添加其路径。

3、编译PCL时,若出现library limit of 65535 objects exceeded错误时,需要在CMake  PCL时点击上部的Advanced ,将PCL_ONLY_CORE_POINT_TYPES勾选。

4、Eigen使用3.2.8版本,因为3.3会在PCL的ALL_BUILD中出现Literal is not a member of Eigen NumTraits。

5、编译PCL时可能会提醒error C2338: <hash_map> is deprecated and will be REMOVED. Please use <unordered_map>.可以在hash_map头文件中添加#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1

6、PCL1.8可能会遇到static_cast cannot convert from double to pcl::visualization.....的问题只需在出错处将double转化为int。

 

转载于:https://www.cnblogs.com/Tron/p/6796067.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值