Windows下PCL1.9.1配置(编译源码)

PCL1.9.1并没有支持vs2015版本的exe版本,然后需要下载PCL的源码重新自己CMake编译出vs2015版本的

编译的目的:

1、得到支持vs2015的版本的PCL1.9.1

前期准备

1、下载PCL源码:https://github.com/PointCloudLibrary/pcl

2、下载安装版(主要是为了看下,第三方库的版本):https://github.com/PointCloudLibrary/pcl

boost:pcl1.9.1对应的是boost1.68版本的

vtk:pcl1.9.1对用的版本是8.1.0版本的 

其他几个三方库不用管,直接用安装版中的库即可

3、下载第三方库

boost,那个版本均可,因为自己编译源码,版本无所谓,这里是1.69版本 https://www.boost.org/users/download/

VTK,这里是8.0版本 https://vtk.org/download/ (因为8.2版本在用的过程中总是有个弹窗很烦,就用了8.0的)

开始编译之前,看下下载的VTK源码的的文件结构:(注意下面的VTK版本是8.2的,编译8.0的一样的编译)

这里不像安装版中就会直接有include、lib、bin这样的文件夹的,我们编译的一个目的就是编译出这些文件夹来,下图是安装版的VTK文件夹结构:(我们编译的目的就是为了得到这样的几个文件)

开始编译VTK8.2.0

注意这里的OpenGL是选择2,实际上只有2可以选(和之前编译VTK8.0版本的时候不一样,8.0版本是选择的OpenGL)

注意上面的BUILD_TESTING不需要勾选,勾选后在编译的时候回非常之慢。

然后就是得到VTK.sln,vs2015打开Debug和Release下分别生成即可

编译Debug就生成了Debug版本的bin、cmake、include、lib、share五个文件,然后建一个Debug文件夹,放起来。

同理再次编译Release就再次得到Release版本的五个文件,建Release文件夹,放起来,这样就得到了两个版本的了,如下:

编译boost64位

编译64bit的boost库。执行bjam address-model=64即可。bjam address-model=64表示编译的是64bit的boost,而bjam address-model=32表示编译32bit的boost

生成的lib包就在stage目录下,然后我们需要就该lib包拿出来作为pcl的第三方依赖包,注意这里的lib下面包含了Debug和Release两个版本的

将目录下的boost作为include目录,和上面的lib包合在一起作为PCL的boost第三方依赖项

编译eigen3

第一次编译按如下做修改:

再次编译,编译成功

然后生成

然后vs打开工程,依次all_build,然后install即可,注意eigen不分debug和release版本的。

最后编译PCL1.9.1 vs2015版本

第一次编译报错,如下:

因为找不到eigen的路径,在cmake中设置上面编译好的路径即可,然后把要放编译好的pcl路径改下,如下:

表示,我需要将编译好的pcl放在这里,继续编译,然后报错:

很简单,需要配置pcl必须依赖的flann的路径,设置如下:

注意的是,第一个是include的路径,第二个是表示release版本的位置,第三个是debug的版本位置,继续编译,然后继续报错如下:

继续找不对的路径更改即可:(注意这里找呢,就主要找pcl依赖的那六个三方库,将位置改对了即可),改动的位置如下:不用管openNI,

至此完成一半。

然后open project,开始用vs编译,注意了,到这一步,其实我们的pcl里面是没有东西的,必须的vs编译之后东西就会出现在这里

先在debug下ALL_BUILD,然后INSTALL,

然后在release下重复一遍,这样就可以得到debug和release两个版本的pcl库了,而且是支持vs2015的。

注意问题

总结:因为我们编译PCL源码,而源码又需要几个三方库,所以一定要主要在CMake的时候,把对应的几个三方库都依次包含进来

1、boost路径

2、qhull路径

3、vtk路径

4、flann路径

5、openni2路径(其实这个不需要也可以的)

6、eigen路径

问题1:有时编译快完成的时候会报下面的错误:

其实这个GTEST文件并不需要,去掉即可

要是上面去掉后重新编译还是报错,就如下把勾选去掉。

问题2:boost路径的设置

下面是在配置中勾选的一些选择,作为配置参考(用到了什么PCL的模块就勾选什么)

祝大家配置环境成功

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

往期线上分享录播汇总

第一期B站录播之三维模型检索技术

第二期B站录播之深度学习在3D场景中的应用

第三期B站录播之CMake进阶学习

第四期B站录播之点云物体及六自由度姿态估计

第五期B站录播之点云深度学习语义分割拓展

第六期B站录播之Pointnetlk解读

[线上分享录播]点云配准概述及其在激光SLAM中的应用

[线上分享录播]cloudcompare插件开发

[线上分享录播]基于点云数据的 Mesh重建与处理

[线上分享录播]机器人力反馈遥操作技术及机器人视觉分享

[线上分享录播]地面点云配准与机载点云航带平差

点云PCL更多活动请查看:点云PCL活动之应届生校招群

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请点击“原文阅读”获取知识星球二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:群主微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云PCL公众号博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值