Win10 PCL1.9.1 VSx64源码编译

时间:2024-03-31 08:14:33

本着想看PCL源码,更加深入地理解PCL处理算法,所以想自己编译一下PCL库,真是费时费力,用了1周多时间,终于编译成功。

编译PCL库,需要第三方库文件:

第三方库名 说明
VTK visualization toolkit,基于OPENGL封装,主要用于三维计算机图形学、图像处理和可视化
boost 是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称(Regex正则表达式库,Spirit,LL parser framework,Graph,Lambda,concept check,Mpl,Thread,Python,Pool,smart_ptr)
FLANN Fast Library for Approximate Nearest Neighbors,它是目前最完整的(近似)最近邻开源库。
OpenI 是一个基于网络的商务智能应用程序。轻松可视化OLAP数据,关系型数据库管理系统,数据挖掘工具和直观的建立和发布交互式的报告,分析
EIGEN 是一个高层次的C ++库,有效支持线性代数,矩阵和矢量运算,数值分析及其相关的算法
Qhull 用于计算三维点的凸包

资料准备:

准备说明:

  1. 编译PCL库,需要第三方库,当然需要下载每一个第三方库源码,然后使用Cmake编译。也可以先安装PCL-1.9.1-AllInOne-msvc2017-win64.exe,安装过程中会有PCL-1.9.1配套的已编译成功的第三方库的头文件及库文件,我们只需要引用别人编译成功的库文件即可,而且PCL版本与第三方库文件的版本也是配套的,比如boost版本是1.68的,VTK是8.1的,一开始第三方库版本我也没注意,躺了很多坑。

安装PCL-1.9.1-AllInOne的时候,一定要安装一个没有空格的路径,默认安装的文件夹“Program Files” 和 “PCL 1.9.1”都会有空格,导致后期QT想引用库的时候,无法识别!
Win10 PCL1.9.1 VS2017x64源码编译

  1. 需要修改PCL1.9.1源码文件里面pcl_find_boost.cmake文件,
    “…/pcl-pcl-1.9.1/cmake/pcl_find_boost.cmake”文件,使用Notepad++打开,在“set(Boost_ADDITIONAL_VERSIONS”,下一行添加boost版本,如下图所示
    Win10 PCL1.9.1 VS2017x64源码编译

Cmake编译

  1. 打开cmake3.13.5,设置源码路径和编译路径,注意一定要勾选Grouped和Advanced,否则后面无法找到Boost路径配置,但是又报Boost_Root路径找不到的问题。
    Win10 PCL1.9.1 VS2017x64源码编译
  2. 点击Configure,选择VS2017 win64
    Win10 PCL1.9.1 VS2017x64源码编译
  3. 点击Generate
    如果有些路径没有找到,需要根据实际库文件路径设置一下

boost
Win10 PCL1.9.1 VS2017x64源码编译
FLANN
Win10 PCL1.9.1 VS2017x64源码编译
OPENNI2
Win10 PCL1.9.1 VS2017x64源码编译
QHULL
Win10 PCL1.9.1 VS2017x64源码编译
Ungrouped Entries:
Win10 PCL1.9.1 VS2017x64源码编译

如果显示“Generating done”,表示生成成功,就可以去设置的binaries文件下找到VS的solution文件了。
Win10 PCL1.9.1 VS2017x64源码编译

  1. 打开sln文件,【生成】→【批生成】→【项目】中选定ALL_BUILD的Debug和Release版本,【生成】中打勾→点击【生成】按钮。
    Win10 PCL1.9.1 VS2017x64源码编译

接下来VS就开始漫长的编译过程了…
Win10 PCL1.9.1 VS2017x64源码编译

足足等待了2小时,终于编译成功,230个成功,没有报错。
Win10 PCL1.9.1 VS2017x64源码编译
还没结束,同样的方法,再生成一下INSTALL,这个过程1~2分钟就能完成。
Win10 PCL1.9.1 VS2017x64源码编译

接下来,就享受源码的快了吧!

2020.6.11