Ensure Multiplatform Portability for Java
Compiled MATLAB® code containing only MATLAB files are platform independent, as are Java®
.jar files. You can use these files on any platform, provided 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
Compile your MEX file once on each platform where you want to run your application.
For example, if you are running the application on a Windows® machine, and you want it to run on the Linux® 64-bit platform, compile
twice, once on a PC to get
and then again on a Linux 64-bit machine to get
Compile the package on one platform using the
AdditionalFilesoption in a
compiler.buildfunction to include the MEX file compiled on the other platform(s).
In the case above, you run
mccon Windows and include the
-aflag to include
. It is not necessary to explicitly include
. In this step , the
mcccommand would be:
mcc -W 'java:mycomp,myclass' my_matlab_file.m -a my_mex.mexa64
For example, if you are running
mccon a Windows machine and you want to ensure portability of the generated package that invokes the
) 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:Ensure that the
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:
-voption to list the names of the MEX files, or enable the
Verboseoption in a
Obtain appropriate versions of these files from the version of MATLAB installed on your target operating system.
Include these versions in the archive by running
-aoption, or use the
AdditionalFilesoptions in a
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 run only on that specific platform when deployed. For example, functionality from the Data Acquisition Toolbox™ runs only on Windows.
JAR files produced by MATLAB Compiler SDK™ are tested and qualified to run on platforms supported by MATLAB. For more information, see the Platform Roadmap for MATLAB.