Create C/C++ Shared Libraries from Command Line
You can package C/C++ applications at the MATLAB® prompt or your system prompt using either of these commands.
Execute Compiler Projects with
deploytool command has two flags that invoke one of the compiler apps
to package an already existing project without opening a window.
-build— Invoke the correct compiler app to build the project but not generate an installer.
-package— Invoke the correct compiler app to build the project and generate an installer.
deploytool -package magicsquare generates
the binary files defined by the
and packages them into an installer that you can distribute to others.
Package a Shared Library with
mcc command invokes MATLAB
Compiler to create a deployable application at the command prompt and provides
fine-level control while packaging the application. It does not package the results
in an installer.
To invoke the compiler to generate a library, use the
-l flag creates a C/C++ shared library that you can integrate
into applications developed in C or C++.
Use the following
mcc options to package a shared
Generate a C shared library. Equivalent to using
Generate a C++ shared library.
|Add the file or files on the path to the generated binary.|
|Specify the folder for the packaged applications.|
Distribute the following files to integrate a C/C++ shared library in an application:
Function signatures of the deployed MATLAB functions
.so— generated library
.h— generated header file
Differences Between Compiler Apps and Command Line
You perform the same functions using the compiler apps, a
function, or the
mcc command-line interface. The interactive menus and
dialog boxes used in the compiler apps build
mcc commands that are
customized to your specification. As such, your MATLAB code is processed the same way as if you were packaging it using
If you know the commands for the type of application you want to deploy and do not require
an installer, it is faster to execute either
mcc than go through the compiler app workflow.
Compiler app advantages include:
You can perform related deployment tasks with a single intuitive interface.
You can maintain related information in a convenient project file.
Your project state persists between sessions.
You can load previously stored compiler projects from a prepopulated menu.
You can package applications for distribution.