Как собрать levmar с помощью MATLAB? - PullRequest
1 голос
/ 27 ноября 2010

Я использую Windows XP, а версия Matlab - 7.10.0. У меня есть пакет levmar (Levenberg Marquardt) от http://www.ics.forth.gr/~lourakis/levmar/levmar-2.5.tgz

В файле README нам сказано компилировать в matlab, используя mex, используя следующую команду: mex -DHAVE_LAPACK -I .. -O -L -L levmar.c -llevmar -lclapack -lblas -lf2c.

Я скачал lapack.lib , blas.lib и f2c.lib для Windows

UPDATE : Первоначальная ошибка была устранена после того, как я собрал файл проекта vc, указанный в пакете. Но теперь есть некоторые сообщения об ошибках, такие как:

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

Ответы [ 3 ]

1 голос
/ 27 ноября 2010

Вы можете взглянуть на immoptibox , который также включает алгоритм Левенберга-Марквардта.

1 голос
/ 27 ноября 2010

Вы создали файл с межсетевым интерфейсом? Вы не можете просто скомпилировать c-функцию для Matlab; вам нужно немного поработать, чтобы позаботиться о вводе / выводе между Matlab и c-кодом.

Если вы выполните действия, описанные в этого документа , у вас все получится.

0 голосов
/ 27 ноября 2010

Я только что понял это после поиска и заметил, что в пакет levmar включен файл проекта vc, который мне нужно было собрать, и он создал файл с именем levmar.lib.Но теперь я получаю некоторые ошибки, которые включают сообщения типа «невозможно разрешить внешние символы»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...