【问题标题】:How to build levmar using MATLAB?如何使用 MATLAB 构建 levmar?
【发布时间】:2010-12-21 20:46:40
【问题描述】:

我使用的是 Windows XP,matlab 版本是 7.10.0。 我有来自http://www.ics.forth.gr/~lourakis/levmar/levmar-2.5.tgzlevmar(Levenberg Marquardt) 包

在 README 文件中,我们被告知在 matlab 中使用 mex 使用以下命令进行编译: mex -DHAVE_LAPACK -I.. -O -L -L levmar.c -llevmar -lclapack -lblas -lf2c.

我为 windows 下载了 lapack.libblas.libf2c.lib

更新: 在我构建了包中给出的 vc 项目文件后,原始错误得到了解决。 但是现在有一些错误消息,例如:

levmar.lib(misc.obj) : error LNK2019: unresolved external symbol _dgemm_ referenced in function _dlevmar_trans_mat_mat_mult 

【问题讨论】:

  • 您需要将您的库链接到项目。只需谷歌搜索“错误 LNK2019:未解析的外部符号”。

标签: matlab


【解决方案1】:

您是否使用 mex 功能网关创建了文件?你不能只为 Matlab 编译一个 c 函数;你需要做一些工作来处理 Matlab 和 c 代码之间的 I/O。

如果您按照this document 中列出的步骤进行操作,您应该可以做到。

【讨论】:

  • 感谢您提供有关 mex 文件的链接
【解决方案2】:

您可以查看immoptibox,它也包含 Levenberg-Marquardt 算法。

【讨论】:

    【解决方案3】:

    我在搜索了一段时间后才发现它,并注意到 levmar 包包含一个我需要构建的 vc 项目文件,它创建了一个名为 levmar.lib 的文件。 但是现在我遇到了一些错误,这些错误涉及诸如“无法解析外部符号”之类的消息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      相关资源
      最近更新 更多