zoukankan      html  css  js  c++  java
  • PCL库配置出现的问题(WIN10+VS2013)

    边看电影边配终于配好了,中间出现了一些问题,在网上很难搜到,可能每个人都碰到的不同。摸索了一会终于都解决了,记录在这里,免得又碰到。

    PCL是什么东西就不在此介绍了。

    主要是参考这篇博客做得,不过我后来碰到了一些问题,这篇博客并没有碰到,可能是版本原因吧

    http://blog.csdn.net/aptx704610875/article/details/49947049

    一直没时间更新,大家如果遇到编译问题,可以留言,看是否和我的一致

    准备工作:

    编译PCL前首先要编译几个PCL依赖的第三方库,主要是下面几个:

    1、Boost 1.59.0

    Boost有两种编译方式,一种是用Cmake生成工程用VS编译,另一种就是用自己带的脚本,我是用的第二种方式。

    首先下载微软的mpi,然后在boost oolsuildsrc ools中找到mpi.jam,修改其中的这三行:
    249 line            local cluster_pack_path_native = "C:\Program Files\Microsoft MPI" ; 
    251 line            if [ GLOB $(cluster_pack_path_native)\Inc : mpi.h ] 
    260 line            options = <include>$(cluster_pack_path)/Inc
    然后打开cmd,进入boost文件夹,运行: bootstrap.bat    运行结束后会生成project-config.jam,打开并在第四行加上:using mpi ; 
    接下来还是用cmd进入boost文件夹,运行:b2.exe toolset=msvc-12.0 address-model=32 --build-dir=buildx86 install --prefix="X:XBoost" -j8
    注意如果要开发x64的程序而不是64位系统,请运行:b2.exe toolset=msvc-12.0 address-model=64 --build-dir=buildx64 install --prefix="X:XBoost" -j8
    (其中没事msvc-12.0代表vs2013,如果是11.0是vs2012,14.0是vs2015  后面的X:XBoost是boost的文件夹,b2.exe就在里面)
    完成后在环境变量中建立BOOST_ROOT变量,值为boost文件夹地址X:XBoost

    2、Eigen 3.2.7

    Eigen是一些模板,其实不需要编译,我按照上面博客里的方式编译有很多错误。

    3、FLANN 1.8.4

    使用cmake,sourse选flann文件夹(如C:flann),build目录选flann下的build(如C:eigenflann)。点击Configure会提示新建build文件夹,选择vs12 2013编译器,然后注意找到CMAKE_INSTALL_PREFIX这个选项,很重要,默认为C:Program Files (x86)flann,请修改为你的flann所在文件夹,如上面的C:flann,不然在之后的install会出错。然后添加一个entry:
    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    修改完后再次点Configure,然后Generate。

    然后打开生成的工程用VS2013编译,完成后添加环境变量FLANN_ROOT

    4、Qhull 2012.1

    使用cmake,sourse选qhull文件夹(如C:qhull),build目录选qhull下的build(如C:qhulluild)。点击Configure(不会提示创建build文件夹因为build已经存在),选择vs12 2013编译器,然后注意找到CMAKE_INSTALL_PREFIX这个选项,很重要,默认为C:Program Files (x86)qhull,请修改为你的qhull所在文件夹,如上面的C:qhull,不然在之后的install会出错。然后添加一个entry:
    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -d
    修改完后再次点Configure,然后Generate。在qhulluild文件夹中打开qhull.sln工程文件,待加载完文件后,修改libqhull和user_eg2的项目属性,C/C++ -> 高级 -> 编译为 C++ 代码 (/TP),完成后生成all_build(debug和release)即可,然后生成install。完成后可以看到qhull文件夹中出现include和lib文件夹。最后在环境变量中建立QHULL_ROOT变量,值为qhull文件夹地址。

    5、VTK 6.3.0

    VTK 6.3.0
    使用cmake,sourse选VTK文件夹(如C:VTK),build目录选VTK下的build(如C:VTKuild)。点击Configure会提示新建build文件夹,选择vs12 2013编译器,然后注意找到CMAKE_INSTALL_PREFIX这个选项,很重要,默认为C:Program Files (x86)VTK,请修改为你的VTK所在文件夹,如上面的C:VTK,不然在之后的install会出错。然后添加一个entry:
    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    修改完后再次点Configure,然后Generate。在VTKuild文件夹中打开VTK.sln工程文件,待加载完文件后,(debug和release)生成all_build(时间有点久,耐心等待),完成后生成install。完成后可以看到VTK文件夹中出现include和lib文件夹。

    6、QT(可选)

    如果要开发可视化界面的话,建议装个QT,按默认设置来就可以了。

    7、GTest

    理论上这个应该是可选的,不过在我编译的时候如果选择了build_visualization,就会报错,显示找不到GTest,所以建议也把这个编译了,步骤和上面用CMAKE的一致。

    编译PCL:

    用CMAKE,选择好源代码路径和目标路径后,点击Configure,选择编译器,会出现如下错误:

    显示找不到eigen的include目录,点击Grouped,

    修改EIGEN_INCLUDE_DIR到EIGEN的include目录中,如我的是D:PCLeigen-327eigen327includeeigen3,修改

    CMAKE_INSTALL_PREFIX为PCL目录,再次点击Configure,

    然后会发现VTK目录没有找到,手动更改VTK_DIR为自己的VTK目录,D:PCLVTK630VTK-6.3.0libcmakevtk-6.3,

    勾选BUILD_visualization,再次Configure,这次就能成功配置了,然后点击Generate生成工程

     编译时会出现一些问题,后面再更,先写到这

    一直没时间更新,大家如果遇到编译问题,可以留言,看是否和我的一致

  • 相关阅读:
    angularjs filter cut string
    使命令行实现访问代理
    计划
    第一周-第14章节-Python3.5-for 循环及作业要求 循环套循环
    第一周-第13章节-Python3.5-while 循环优化版本 改成for循环来实现输入3次
    第一周-第12章节-Python3.5-while 循环
    第一周-第11章节-Python3.5-if else流程判断
    第一周第10章节--用户交互程序与格式化输出
    结构(位置)伪类选择器(CSS3)
    css过渡效果
  • 原文地址:https://www.cnblogs.com/haoliuhust/p/5059971.html
Copyright © 2011-2022 走看看