真是一把辛酸泪。

首先注意修改文件:

nearest_neighbors.cpp:

/*#include <flann/flann.h>*/
#include "flann/flann.cpp"


1. windows


  • 管理员身份运行cmake

注意查看: MEX_CMD and MEXEXT_CMD paths are set correctly to Matlab/R2014a/bin/mex.bat etc.

  • 运行flann.sln

注意要在x64和Release模式下

  • build project flann_s
  • flann-1.8.4-src/build/lib/Release 的 flann_s.lib 复制到 flann-1.8.4-src/build/lib
  • build project mex_nearest_neighbors
  • 复制flann-1.8.4-src/build/src/matlab/nearest_neighbors.mexw64 到 /flann-1.8.4-src/src/matlab
编译完成。
matlab中设置路径D:\FLANN\flann-1.8.4-src\src\matlab。
不必用mex在编译nearest_neighbors了


2. linux(ubuntu16.04) 

编译flann:

  • cd flann-x.y.z-src
  • mkdir build
  • cd build
  • cmake ..( 注意有两点)
  • make
在matlab中:

  • 设置路径D:\FLANN\flann-1.8.4-src\src\matlab。
  • 命令行窗口中输入mex -setup选择g++(c)
  • 设置当前文件夹为D:\FLANN\flann-1.8.4-src\src\matlab
  • 命令行窗口输入 mex nearest_neighbors.cpp -I'/home/hjq/flann-1.8.4-src/src/cpp/'生成mex文件。


附一个有用的链接:http://jacobsn.github.io/2015/04/15/flann-matlab.html#windows64


Logo

更多推荐