首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows下PCL1.9.1配置(编译源码)

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

作者头像
点云PCL博主
发布2019-09-05 17:44:48
4.5K0
发布2019-09-05 17:44:48
举报
文章被收录于专栏:点云PCL点云PCL点云PCL

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的模块就勾选什么)

祝大家配置环境成功

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档