pcl 1.8.0(3) FLANN 编译

这一次我讲的是flann1.8.4的编译下面给出库的下载地址。
flann1.8.4下载
打开上述网址之后,大家找到Getting FLANN,如下图所示的,下载flann-1.8.4-src.zip。我们这里下载的是Source code,所以需要自己用CMake生成sln工程,再用vs进行编译。
这里写图片描述

CMake 生成sln工程

  1. 解压上述下载好的源代码,可以放在任何盘中,建议放在你比较习惯的位置,我一般会把开源库放在C盘根目录下,这里是C:\flann-1.8.4。打开CMake,设置CMake中的source code目录和build 目录,如下我的配置目录:
    Where is the source code: C:\flann-1.8.4
    Where is build the binaries: C:\flann-1.8.4\build
  2. 点击CMake中的Configure,选择vs12 2013编译器,当出现Configure done,做出如下的设定
    BUILD_C_BINDINGS (check)
    BUILD_MATLAB_BINDINGS (uncheck)
    BUILD_PYTHON_BINDINGS (uncheck)
    CMAKE_CONFIGURATION_TYPES Debug;Release
    CMAKE_INSTALL_PREFIX C:\flann-1.8.4
  3. 同eigen生成工程文件一样,也要把CMAKE_INSTALL_PREFIX这个选项进行重新设置,如果你不设置,默认是C:/Program Files (x86)/flann,记住一定要设置为你的flann所在的目录,也就是上图中的source code的目录,不然在后面的install会出现错误。然后还有添加一个entry:
    Name: CMAKE_DEBUG_POSTFIX
    Type: STRING
    Value: -gd
    配置完之后的结果如下图所示:
    这里写图片描述
    添加这个的原因是因为我们在用vs编译的时候,要生成debug和release两个版本的dll文件,为了将这两个版本的dll文件区别开来,所以加入CMAKE_DEBUG_POSTFIX选项,大家在flann编译成功的时候看到生成的dll文件就会知道了。因为文件名的差别在-gd上,带-gd的代表是debug版本,不带的是release。

VS 2013编译

  1. 在C:\flann-1.8.4\src\cpp\flann\util中找到serialization.h文件 在92行BASIC_TYPE_SERIALIZER(bool);之后加入以下代码:
#ifdef _MSC_VER
BASIC_TYPE_SERIALIZER( unsigned __int64 );
#endif

保存serialization.h
这里写图片描述
2. Debug模式:用vs2013 打开生成的flann.sln文件,首先在debug模式下,点击左边解决方案框中的ALL_BUILD,点击弹出菜单中的生成,等build完成之后,再右击INSTALL,选择生成,大家要注意下图红框内,要和我的一样。我在这里有一个错误,就是LINK : fatal error LNK1181: cannot open input file ‘$/nologo.obj’,后来我用管理权限打开vs2013,重新再生成发现就没有这个错误了。所以就像我前几篇博客说的一样,如果不用管理权限打开vs编译器可能会在INSTALL出现一些问题。
这里写图片描述
3. Release模式:Release模式和debug模式步骤一样,只是把上图红色框中的的debug改为release即可。
4. 环境变量设置最后在环境变量中建立FLANN_ROOT变量,值为flann文件夹地址。再新加PATH的值:%FLANN_ROOT%\bin
这样flann的编译和配置就完成了。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值