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);之后加入以下代码:

保存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的编译和配置就完成了。

《pcl 1.8.0(3) FLANN 编译》有2个想法

  1. 大学艺术设计班下课时,有个同学无意中把我的一大瓶胶水撞到地上,瓶子碰破了,地上落下一大片难看的碎玻璃和胶水及涂胶的刷子混作一团。我想等胶水干了再打扫也许容易,所以当时没有清理它。可是等我回来时,那片乱七八糟的东西不见了。我问当时并不在场的教师,他起先表示不明所以,继而感到惊奇。“原来那个东西是这样来的! ”他大声说,“有人把它当作设计练习交上来了。”

  2. 有一个大财主过生日,请四个客人他的管家总爱说迭词,他问这四位客人都怎么来的?甲说:“我是坐轿来的。”他忙说:“气派气派”乙说:“我是骑马来的。”他说:“威风威风”丙说:“我是走着来的。”他说:“自在自在”丁开玩笑说:“我是爬着来的。”他说:“稳当稳当”丁气得给了他两耳光,他忙苦笑着说:“痛快痛快”

发表评论

电子邮件地址不会被公开。 必填项已用*标注