2

我想在 Windows 7 的 Matlab 2010 中为近似最近邻 (FLANN) 使用快速库。但是,出现以下错误消息。

Undefined function or method 'nearest_neighbors' for input arguments of type 'struct'.

Nearest_neighbors 文件是 cpp 文件。我认为应该有某种构建过程,但我不熟悉构建过程。

任何人都可以给我一些关于这个问题的指导吗?我希望我能得到一些解决方案。谢谢。

4

1 回答 1

2

它使用CMake构建。您需要安装 CMake 和一些 C++ 编译器,例如 Microsoft Visual Studio。如果您使用 64 位 Matlab,编译器应该能够创建 64 位代码。

您还应该通过mex -setup在 Matlab 中运行来配置 Matlab 的 mex 工具。

在 Matlab 中安装 CMAKE 并配置编译器后,执行以下操作。

  1. 运行 cmake-gui
  2. 在“源”输入字段中输入硬盘驱动器上 FLANN 源的路径,例如c:\flann
  3. 转到 CMake GUI 的下一个输入行并输入硬盘驱动器上的一些路径,您希望编译后的 FLANN 二进制文件出现在该路径中,例如c:\flann\build. 如果此目录不存在,CMake 将创建此目录
  4. 按“配置”按钮并选择一个编译器。
  5. CMake 检查您的系统并创建变量,存储设置。它在窗口的上半部分显示它们。新的或更改的变量以红色突出显示。窗口的下半部分包含日志消息。
  6. 检查变量并记录并修复错误(如果有)。
  7. 如果需要,重复 4-6。
  8. 按“生成”

现在 CMake 已经为您创建了一个项目。项目类型取决于您在 4 中指定的编译器。现在您应该构建这个项目。

您还可以让 CMake 运行构建过程:打开命令提示符并输入以下内容

cd c:\flann\build
"c:\Program Files (x86)\CMake\bin\cmake" --build .

根据您的系统更正路径。

完成这些步骤后,您应该add_path在 Matlab 中创建好库并能够使用它。

于 2015-05-13T06:05:29.687 回答