pcl 1.8.0(1) Boost_1_60_0 编译

来源:互联网 发布:mac怎么显示桌面 编辑:程序博客网 时间:2024/05/17 07:14

由于本人需要用到pcl1.8版本里的kinfu功能,而目前的pcl可安装的版本AllInOne最高为1.7.2百度云,如果使用pcl的kinfu必须得自己编译pcl 1.8。
目前关于pcl 1.8方面的资料很少,在这里本人的这篇博客是借鉴国外的一个日本人的博客来进行的Point Cloud Library 1.8.0 RC2 has been released。大家可能会心存疑惑,既然上面博主已经把可安装的pcl版本发布出来,为什么我还要写这篇博客,问到关键点了,因为上面那个日本学者做的可安装版本没有我想要的kinfu功能,所以我必须要自己对源码进行编译。而且在这里我也是边编译、边写博客,还会把编译过程中出现的问题标出来,大家一起解决,而且这里我也有图片来标明过程,这样大家也看得比较直观,我也可以学到很多东西。好的,闲话少说,我们开始干活!
本人电脑的环境是win 10,vs 2013 和 CMake 3.5.0 rc1 (支持Boost1_60_0)
我们都知道,pcl有许多需要的第三方依赖库,所以我们首先要做的是下载下面的第三方开源库:
- Boost 1.60.0
- Eigen3.2.8
- FLANN 1.8.4
- Qhull 2015.2
- VTK 7.0.0

这里先讲述Boost库的编译和配置,至于其他的库编译和配置,我会在后续的博客中更新。
Download

  1. 下载Boost 1.60.0,解压到C盘中,我这里的目录为C:\boost_1_60_0。
  2. 下载MSMpiSetup.exe、msmpisdk.msi并安装。下载地址在这里here。

    Build
    定位到C:\boost_1_60_0\tools\build\src\tools\mpi.jam,利用文本文件打开mpi.jam文件。做如下修改:

249-251 line

local microsoft_mpi_sdk_path = "C:\\Program Files (x86)\\Microsoft SDKs\\MPI" ;local microsoft_mpi_path = "C:\\Program Files\\Microsoft MPI" ;if [ GLOB $(microsoft_mpi_sdk_path)\\Include : mpi.h ]

260-262 line

options = <include>$(microsoft_mpi_sdk_path)/Include          <address-model>64:<library-path>$(microsoft_mpi_sdk_path)/Lib/x64          <library-path>$(microsoft_mpi_sdk_path)/Lib/x86

268 line

.mpirun = "\"$(microsoft_mpi_path)\\Bin\\mpiexec.exe"\" ;

修改完之后,利用管理员权限打开“VS2013 x64/86 本机工具命令提示”,输入如下命令:

cd C:\boost_1_60_0bootstrap.bat

运行结束后会在boost根目录下面生成project-config.jam,用文本编辑器打开并在第四行加上:

using mpi ; 

接下来还是用上面打开的“VS2013 x64/86 本机工具命令提示”来运行下面的命令(开发64位程序):

b2.exe toolset=msvc-12.0 address-model=64 --build-dir=build\x64 install --prefix="C:\boost_1_60_0" -j8

其中msvc-12.0代表vs2013,如果是11.0是vs2012,14.0是vs2015 后面的C:\boost_1_60_0是boost的文件夹,b2.exe就在里面
如果想开发win32程序,可以运行下面的命令:

b2.exe toolset=msvc-12.0 address-model=32 --build-dir=build\x86 install --prefix="C:\boost_1_60_0" -j8

然后等着就好了,时间有点久,耐心等。完成后在环境变量中建立BOOST_ROOT变量,值为boost文件夹地址C:\boost_1_60_0,这样Boost的配置就设置好了!

0 0