Compiled MATLAB® code containing only MATLAB files
are platform independent, as are .jar
files. These
files can be used out of the box on any platform providing that the
platform has either MATLAB or the MATLAB Runtime installed.
However, if your compiled MATLAB code contains MEX-files, which are platform dependent, do the following:
Compile your MEX-file once on each platform where you want to run your application.
For example, if you are running on a Windows® machine, and
you want to also run on the Linux® 64-bit platform, compile
twice
(once on a PC to get my_mex
.c
and
then again on a Linux 64-bit machine to get my_mex
.mexw64
). my_mex
.mexa64
Compile the package on one platform using the mcc
command,
using the -a
flag to include the MEX-file compiled
on the other platform(s). In the example above, run mcc
on Windows and
include the -a
flag to include
.
In this example, the my_mex
.mexa64mcc
command would be:
mcc -W 'java:mycomp,myclass' my_matlab_file.m -a my_mex.mexa64
Note
In this example, it is not necessary to explicitly include
(providing
you are running on Windows). This example assumes that my_mex
.mexw64
and my_mex
.mexw64
reside
in the same folder. my_mex
.mexa64
For example, if you are running on a Windows machine and
you want to ensure portability of the generated package that invokes
the yprimes.c
file (from
)
on the Linux 64-bit platform, execute the following matlabroot
\extern\examples\mexmcc
command:
mcc -W 'java:mycomp,myclass' callyprime.m -a yprime.mexa64
callyprime.m
can be a
simple MATLAB function as follows:function callyprime disp(yprime(1,1:4));
yprime.mexa64
file
is in the same folder as your Windows MEX-file.Tip
If you are unsure if your JAR file contains MEX-files, do the following:
Caution
Toolbox functionality that runs seamlessly across platforms when executed from within the MATLAB desktop environment will continue to run seamlessly across platforms when deployed. However, if a particular toolbox functionality is designed to run on a specific platform, then that functionality will only run on that specific platform when deployed. For example, functionality from the Data Acquisition Toolbox™ only runs on Windows.
JAR files produced by MATLAB Compiler SDK™ are tested and qualified to run on platforms supported by MATLAB. See the Platform Roadmap for MATLAB for more information.