Скомпилированный код MATLAB®, содержащий только файлы MATLAB, независим от платформы, как файлы .jar
. Эти файлы могут использоваться из поля на любой платформе, если это платформа имеет или MATLAB или установленный MATLAB Runtime.
Однако, если ваш скомпилированный код MATLAB содержит файлы MEX, которые являются зависимым платформы, сделайте следующее:
Скомпилируйте свой файл MEX однажды на каждой платформе, где вы хотите запустить свое приложение.
Например, если вы работаете на машине Windows®, и вы хотите также работать на платформе Linux® 64-bit, скомпилировать
дважды (однажды на PC, чтобы заставить my_mex.c
и с другой стороны на Linux 64-битная машина получать my_mex.mexw64
). my_mex.mexa64
Скомпилируйте пакет на одной платформе с помощью команды mcc
, с помощью флага -a
, чтобы включать файл MEX, скомпилированный на другой платформе (платформах). В примере выше, запустите mcc
на Windows и включайте флаг -a
, чтобы включать
. В этом примере команда my_mex.mexa64
mcc
была бы:
mcc -W 'java:mycomp,myclass' my_matlab_file.m -a my_mex.mexa64
В этом примере не необходимо явным образом включать
(если вы работаете на Windows). Этот пример принимает, что my_mex.mexw64
и my_mex.mexw64
находятся в той же папке. my_mex.mexa64
Например, если вы работаете на машине Windows, и вы хотите гарантировать мобильность сгенерированного пакета, который вызывает файл yprimes.c
(от
) на Linux 64-битная платформа, выполните следующую команду matlabroot\extern\examples\mex
mcc
:
mcc -W 'java:mycomp,myclass' callyprime.m -a yprime.mexa64
callyprime.m
может быть простая функция MATLAB можно следующим образом:function callyprime disp(yprime(1,1:4));
yprime.mexa64
находится в той же папке как ваш Windows MEX-file.Если вы не уверены, если ваш файл JAR содержит файлы MEX, сделайте следующее:
Некоторая функциональность тулбокса не будет развертываема, когда скомпилировано в пакет Java® и работать на платформе кроме той, скомпилированной на. Это вызвано тем, что некоторый код тулбокса включает данные, которые могут быть конкретной платформой. Если это верно, можно только развернуть приложение, чтобы любить платформы. Например, функция Image Processing Toolbox IMHIST
перестанет работать, если развернуто кросс-платформенный с ошибкой undefined function
.
Файлы JAR, произведенные MATLAB Compiler SDK™, протестированы и квалифицированы, чтобы работать на платформах, поддержанных MATLAB. См. Дорожную карту Платформы для MATLAB для получения дополнительной информации.