Deploy to C++ Applications Using
mwArrayAPI for data exchange
In this approach, you create a C++ shared library and header file from
MATLAB functions you want to deploy. Use the legacy MATLAB
Compiler SDK™ API for C++ as an interface between the C++ application
and the deployed MATLAB functions. Use the
mwArray API to
handle data exchange between the C++ application and the deployed
MATLAB functions. You must include the generated header file in
your C++ application using a preprocessor directive for the deployed
MATLAB functions to be available as member functions within your
C++ code. You need to explicitly manage the life-cycle of the
MATLAB Runtime instance used by the deployed MATLAB functions. The runtime instance can be run only in-process
with the C++ application and deployed MATLAB functions can be executed only synchronously.
mwArray API supports only C++03
functionality. C++ shared libraries that use the
mwArray API have an interface that uses C-style
functions to initialize the MATLAB Runtime, load the packaged MATLAB functions into the MATLAB Runtime, and manage data that is passed between the C++ driver
code and MATLAB Runtime. These functions are described under C/C++ API. The functions listed under C++
API are specific to the
and cannot be used for shared libraries created for other APIs.
|Create C++ shared library|
|Options for building C++ shared libraries|
|Compile and link source files against MATLAB generated shared libraries|
|Initialize the MATLAB Runtime proxy library|
|Set up application state shared by all MATLAB Runtime instances created in current process|
|Close MATLAB Runtime-internal application state|
|Initialize MATLAB Runtime instance associated with
|Free all resources allocated by MATLAB Runtime instance associated with
|Mechanism for creating identical wrapper code across all platforms|
|Determine if MATLAB Runtime has been properly initialized|
|Enable deployed applications to process graphics events so that figure windows remain displayed|
|Last error message from unsuccessful library initialization or MATLAB function call|
|Retrieve name of log file used by MATLAB Runtime|
|Determine if MATLAB Runtime was started with instance of Java Virtual Machine (JVM)|
|Determine if |
C++ mwArray API
|Class used to pass input/output arguments to C++ functions generated by MATLAB Compiler SDK|
|Exception type used by the |
|String class used by the |
- MATLAB Compiler SDK C++ Target Requirements
Refer to the software requirements for using MATLAB Compiler SDK to deploy MATLAB functions to C++ applications.
- C++ Development Environment
Set up development environment to develop C++ applications that integrate deployed MATLAB functions.
mwArray API Shared Library
- Generate a C++ mwArray API Shared Library and Build a C++ Application
Create a C++ mwArray API shared library from MATLAB code and implement it with sample C++ driver code.
- Create C/C++ Shared Libraries from Command Line
Use the command-line compiler to create C/C++ shared libraries.
Integrate C++ Shared Library into C++ Application
- Call MATLAB Compiler SDK API Functions from C/C++
Use MATLAB Compiler SDK shared library functions in C and C++ code.
- Integrate C++ Shared Libraries with mwArray
Write C++ code to reference shared libraries that use the
- Configure the mbuild Options File
How to configure the
- Use Multiple Shared Libraries in Single Application
Use multiple generated shared libraries in a single C/C++ application.
Mac OS X
- Write Applications for macOS
Write deployable C++ applications specifically for macOS.
- Memory Management and Cleanup
See recommendations on memory management.
- 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,
- Compilation Failures
List of possible failures during compilation.
- Testing Failures
List of possible failures during testing.
- Deployment Failures
List of possible failures during deployment.