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 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.