Я пытаюсь построить mex-файл из алгоритма Левенберга-Марквардта, написанного на Си Манолисом Лоракисом (Доступно здесь)). Я много занимался поиском и пока не смог найти подобную проблему или решение этой проблемы (много на этом форуме!).
Автор включил функцию C-шлюза, и мне удалось устранить ошибки, которые я получал из make-файла. Теперь, когда я пытаюсь собрать make-файл, у меня появляется следующая ошибка:
/var/folders/w6/c4f9x2qn7zb2srs97ngpvflh0000gn/T//mex_112796979375_74657:
line 2: -L/Applications/MATLAB_R2016b.app/bin/maci64: No such file or directory
Error using mex The command '/usr/bin/xcrun' exited with a return value '0'
Похоже, что /Applications/MATLAB_R2016b.app/bin/maci64 не является путем к каталогу ‘maci64’. Это странно, так как когда вы идете по пути, этот каталог определенно есть. Код, который я использовал для создания файла, использовался в качестве инструкции в файле README:
mex -DHAVE_LAPACK -I.. -O -L</Users/martinmackinnon/Documents/MATLAB/levmar-2.6/levvy> levmar.c -llevmar -lclapack -lblas -lf2c
Где путь с опцией L, это просто путь ко всем файлам, включенным в библиотеку ‘levmar’, предоставленную автором.
Моя ОС — Mac OS 10.12.1, а версия MATLAB — MATLAB_R2016b.
Я также пробовал это в системе, работающей на OS X 10.11.6 и MATLAB_R2015b, но получаю эквивалентную ошибку.
Любая помощь приветствуется.
Большое спасибо.
Для тех, у кого такая же проблема в будущем. Проблема здесь заключалась в использовании < и> в пути к каталогу для опции -L.
Других решений пока нет …