我在linux机器上从源代码构建FLANN时遇到了很多问题。我设法构建了matlab绑定,最后得到了几个.m文件。但是,matlab文件夹下的一个这样的文件是我需要的.m文件的.cpp文件版本。因此,我无法运行FLANN演示代码。这是否意味着在编译期间出现了问题?
我没有收到来自' make'的任何错误消息。但是我确实得到了一些lib缺失错误,包括来自cmake'的CUDA lib和intel TBB。不确定是否重要。
这就是我所做的一切:
$ cd flann-x.y.z-src
$ mkdir build
$ cd build
$ cmake ..
$ make
答案 0 :(得分:1)
CUDA和TBB是可选的,它们不存在并不重要。
.m
文件实际上是简单的Matlab源代码,而不是任何编译过的文件。除了一些.m
文件之外,您还应该在nearest_neighbors.mexa64
目录中使用mex
(或其他build/matlab/
扩展名,具体取决于您的平台)。
这不是与.m
和.cpp
文件相同的目录 - 这是源目录。您应该运行make install
来收集/usr/local
中的内容,或者如果您cmake .. -DCMAKE_INSTALL_PREFIX=/wherever
收集其他内容。然后,您将在.m
中拥有.mexa64
和.cpp
(但不 /usr/local/share/flann/matlab/
)个文件。