Как сгенерировать MEX из функции пакета в MATLAB? - PullRequest
2 голосов
/ 17 марта 2019

У меня следующая структура каталогов:

main
   +model
      run.m
   +options
      opt.m
main.m

и т. Д.

У меня есть функция в каталоге +model с именем run, которая зависит от некоторых функций в *Каталог 1008 *, такой, что мой main.m скрипт в каталоге main вызывает model.run(), а функция run вызывает некоторый options.opt().

Я хочу создать MEX-файл model.run(),поэтому я запускаю coder из командной строки MATLAB, и на первом экране, где я ввожу имя функции для генерации кода model.run, кодировщик просто отображает ошибку:

Этот файлв тени C: \ .... \ + model \ run.m

Я уже пытался добавить каталог main в путь, но он не работал.

  • Можно ли скомпилировать MEX для model.run() в этом сценарии?

Версия MATLAB: '9.4.0.813654 (R2018a)'

1 Ответ

1 голос
/ 19 марта 2019

Генерация кода непосредственно из функции в пакете, к сожалению, не поддерживается в MATLAB Coder с MATLAB R2019a.Мы сделали внутреннюю заметку по вашему запросу, чтобы мы могли посмотреть на снятие этого ограничения в будущем.

Обходной путь сейчас состоит в том, чтобы добавить функцию-оболочку вне пакета, который вызывает model.run, и использовать этокак ваша функция точки входа с кодером.Затем вы можете переместить полученный MEX-файл в каталог +model, чтобы model.run вызывал сгенерированный MEX для остальной части вашего кода.

...