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
(once on a PC to get
then again on a Linux 64-bit machine to get
Compile the package on one platform using the
-a flag to include the MEX-file compiled
on the other platform(s). In the example above, run
mcc on Windows and
-a flag to include
In this example, the
mcc command would be:
mcc -W 'java:mycomp,myclass' my_matlab_file.m -a my_mex.mexa64
In this example, it is not necessary to explicitly include
you are running on Windows). This example assumes that
in the same folder.
For example, if you are running on a Windows machine and
you want to ensure portability of the generated package that invokes
yprimes.c file (from
on the Linux 64-bit platform, execute the following
mcc -W 'java:mycomp,myclass' callyprime.m -a yprime.mexa64
callyprime.mcan be a simple MATLAB function as follows:
function callyprime disp(yprime(1,1:4));
yprime.mexa64file is in the same folder as your Windows MEX-file.
If you are unsure if your JAR file contains MEX-files, do the following:
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.