2012-07-31 50 views
2

我在Linux機器上從源代碼構建FLANN時遇到了很多問題。我設法建立了matlab綁定,並結束了幾個.m文件。但是,matlab文件夾下的一個這樣的文件就是我需要的.mpp文件的.cpp文件版本。因此,我無法運行FLANN演示代碼。這是否意味着編譯過程中出現錯誤?如何在ubuntu 64bit for matlab上創建FLANN

我沒有收到'make'的任何錯誤信息。但是,我確實收到了一些lib丟失的錯誤,包括'cmake'中的CUDA lib和intel TBB。不知道這些問題。

這就是我所做的:

$ cd flann-x.y.z-src 
$ mkdir build 
$ cd build 
$ cmake .. 
$ make 
+0

這很有用:http://www.cs.uky.edu/~jacobs/tips/flann_matlab.html#multilab – Wok 2013-06-13 16:30:53

回答

1

CUDA和TBB是可選的,它不應該的問題,他們是不存在的。

.m文件實際上是普通的Matlab源代碼,沒有任何編譯。除了幾個.m文件外,您應該在目錄build/matlab/中以nearest_neighbors.mexa64(或其他mex擴展取決於您的平臺)結尾。

這不會是與.m.cpp文件相同的目錄 - 這是源目錄。你應該運行make install來收集/usr/local或其他地方的東西,如果你做cmake .. -DCMAKE_INSTALL_PREFIX=/wherever。然後你將在/usr/local/share/flann/matlab/中有.m.mexa64(但是而不是.cpp)文件。

+0

剛剛嘗試過,有些時候我只得到一堆頭文件而沒有其他東西。我沒有配置cmake-gui來構建matlab綁定 – mugetsu 2012-07-31 21:12:48

+0

@mugetsu如果從build目錄運行make mex_nearest_neighbors,會發生什麼? – Dougal 2012-07-31 21:17:43

+0

我似乎沒有該文件 – mugetsu 2012-07-31 21:21:24