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

  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。

 

posted on 2017-05-02 15:57  Tron1  阅读(558)  评论(0编辑  收藏  举报

导航