У моего клиента есть сеть, которая не имеет доступа к Интернету. Они намерены купить (очень мало) лицензий Matlab только для усилий по развитию меня и моего коллеги. Однако для оперативного использования их сотрудниками мне следует скомпилировать мой код Matlab в файлы * .exe, чтобы операторы не использовали лицензии только для выполнения моего «приложения» / «решения» Matlab (язык, кажется, меняется Эти дни). На самом деле у них не будет mcc
лицензий, поэтому компиляция будет производиться в сети моей домашней организации.
Проблема в том, что при запуске скомпилированного исполняемого файла не существует очевидного способа заставить его использовать Matlab Compiler Runtime (MCR). Если в целевой системе есть лицензии Matlab, она также может использовать это. Однако весь смысл компиляции заключается в том, чтобы избежать использования нескольких лицензий в клиентской сети, чтобы при необходимости лицензии были доступны для разработки m-файлов. Таким образом, уникальной особенностью этой ситуации, по-видимому, является то, что целевая среда в конечном итоге будет иметь лицензии Matlab и MCR, а также требование, чтобы скомпилированные исполняемые файлы использовали только MCR а не лицензии Matlab .
Mathworks изучает проблему, но перспективы поиска решения неясны. Я надеюсь, что это не потребует ручной перенастройки сценариев входа в систему для настройки переменных окружения PATH, поскольку они будут прерываться при обновлении сценариев входа в систему. Я надеюсь на решение, подобное прагматическому выражению в m-файле верхнего уровня, или ключ mcc
. Однако при просмотре документации mcc
ни один из переключателей не представляется вероятным кандидатом, кроме -Y license.lic
, и не совсем понятно, как его использовать.
Что касается клиента, еще одно ограничение, с которым я сталкиваюсь, заключается в том, что я не хочу приставать к ним методом проб и ошибок (это не их работа). Это осложняется тем фактом, что не существует эффективного способа передачи им электронного контента, поэтому быстрое итеративное метод проб и ошибок отсутствует. Кроме того, их целевая среда с лицензиями Matlab еще не существует, хотя процесс ее получения еще не завершен. Это проблема курицы с яйцом; они получают Matlab, основываясь на предположении, что мы можем найти решения для этих проблем, но сложно заранее опровергнуть это предположение, исследуя решения, когда целевая среда еще не существует.
В системе моей домашней организации я также сталкиваюсь с ограничением, что у меня нет прав на установку MCR. Следовательно, я не могу предпринять метод проб и ошибок, чтобы идентифицировать заклинание или рецепт, который игнорирует наличие лицензий Matlab и вынуждает использовать MCR. Не то чтобы у меня было время на это, потому что это очень неэффективный способ достижения этой цели.
Из-за множества косвенных проблем метод проб и ошибок не подходит, и я надеюсь, что существует консервативный метод принудительного использования MCR для любых лицензий Matlab, которые могут присутствовать. Я использую R2015b.