如何在Ubuntu64bit for matlab上构建FLANN
我在linux机器上从源代码构建FLANN时遇到了很多问题。我设法构建了matlab绑定,最后得到了几个.m文件。然而,matlab文件夹下的一个这样的文件是我需要的.m文件的.cpp文件版本。因此,我无法运行FLANN演示代码。这是否意味着编译过程中出现了错误 我没有从“make”收到任何错误消息。然而,我确实得到了一些库丢失错误,包括CUDA库和来自“cmake”的英特尔TBB。不确定这些是否重要 这就是我所做的一切:如何在Ubuntu64bit for matlab上构建FLANN,matlab,compilation,Matlab,Compilation,我在linux机器上从源代码构建FLANN时遇到了很多问题。我设法构建了matlab绑定,最后得到了几个.m文件。然而,matlab文件夹下的一个这样的文件是我需要的.m文件的.cpp文件版本。因此,我无法运行FLANN演示代码。这是否意味着编译过程中出现了错误 我没有从“make”收到任何错误消息。然而,我确实得到了一些库丢失错误,包括CUDA库和来自“cmake”的英特尔TBB。不确定这些是否重要 这就是我所做的一切: $ cd flann-x.y.z-src $ mkdir build $
$ cd flann-x.y.z-src
$ mkdir build
$ cd build
$ cmake ..
$ make
CUDA和TBB是可选的,它们不在不重要
.m
文件实际上是普通的Matlab源代码,没有编译任何东西。除了一些.m
文件外,在build/matlab/
目录中还应该有一个最近邻.mexa64
(或其他一些mex
扩展,具体取决于您的平台)
这将与
.m
和.cpp
文件不在同一目录中--这是源目录。您可能应该运行makeinstall
来收集/usr/local
中的内容,如果您执行cmake-DCMAKE\u INSTALL\u PREFIX=/where
。然后,您将在/usr/local/share/flann/matlab/
中拥有.m
和.mexa64
(但不是.cpp
)文件。我刚刚尝试了一下,我只得到了一堆头,其他什么都没有。我确实将cmake gui配置为只构建matlabbindings@mugetsu如果从构建目录运行make mex\u nearest\u neights\u neights
,会发生什么情况?我似乎根本没有那个文件,那不是一个文件;当您将cd
导入build
时,只需运行该命令。就像上面所做的make
,但是告诉它只构建mex接口及其依赖项;它要么构建它,要么告诉你问题出在哪里。我得到的结论是,没有规则让目标“mex_近邻”成为目标。这很有用: