Understand the mclmcrrt Proxy Layer
All application and software components generated by MATLAB®
Compiler™ and MATLAB
Compiler SDK™ need
to link against only one MATLAB library, mclmcrrt.
This library provides a proxy API for all the public functions in MATLAB libraries
used for matrix operations, MAT-file access, utility and memory management,
and application MATLAB Runtime. The mclmcrrt library
lies between deployed MATLAB code and these other version-dependent
libraries, providing the following functionality:
Ensures that multiple versions of the MATLAB Runtime can coexist
Provides a layer of indirection
Ensures applications are thread-safe
Loads the dependent (re-exported) libraries dynamically
The relationship between mclmcrrt and other MATLAB libraries
is shown in the following figure.
The MCLMCRRT Proxy Layer

In the figure, solid arrows designate static linking and dotted arrows designate dynamic
linking. The figure illustrates how the mclmcrrt library layer sits above
the mclmcr and mcr libraries. The
mclmcr library contains the run-time functionality of the deployed
MATLAB code. The mcr module ensures each bundle of deployed
MATLAB code runs in its own context at run time. The mclmcrrt
proxy layer, in addition to loading the mclmcr, also dynamically loads
the MX and MAT modules, primarily for
mxArray manipulation. For more information, search using the keywords
'MSVC shared library'.
Caution
Deployed applications must only link to the mclmcrrt proxy
layer library (mclmcrrt.lib on Windows®, mclmcrrt.so on Linux®,
and mclmcrrt.dylib on Macintosh). Do not link
to the other libraries shown in the figure, such as mclmcr, libmx,
and so on.