Build Engine Applications with IDE
You can use the MATLAB® Editor to write your engine application code and the mex
command to build it. If you prefer to use an integrated development environment (IDE) such as
Microsoft®
Visual Studio® or Xcode to write your source code, you can still use the mex
command. However, to build your application with your IDE, follow the guidelines in the
following topics.
Configuring the IDE
To use your integrated development environment to build engine applications, your IDE needs a compiler that MATLAB supports. For an up-to-date list of supported compilers, see Supported and Compatible Compilers.
Engine applications require the Engine Library libeng
, the Matrix
Library libmx
, and supporting include files. When you build using the
mex
command, MATLAB is configured to locate these files. When you build in your IDE, you must
configure the IDE to locate them. Where these settings are depends on your IDE. Refer to
your product documentation.
Engine Include Files
Header files contain function declarations with prototypes for the routines you access
in the API libraries. These files are in the
folder and are the
same for Windows®, macOS, and Linux® systems. Engine applications use:matlabroot
\extern\include
engine.h
— Function prototypes for engine routinesmatrix.h
— Definition of themxArray
structure and function prototypes for matrix access routinesmat.h
(optional) — Function prototypes format
routines
In your IDE, set the pre-processor include path to the value returned by the following MATLAB command:
fullfile(matlabroot,'extern','include')
Engine Libraries
You need the libeng
and libmx
shared libraries.
The name of the file is platform-specific. Add these library names to your IDE
configuration. Refer to your IDE product documentation for instructions.
Windows Libraries
In these path specifications, replace compiler
with either
microsoft
or mingw64
.
Engine library —
matlabroot
\extern\lib\win64\compiler
\libeng.libMatrix library —
matlabroot
\extern\lib\win64\compiler
\libmx.libMEX library (optional) —
matlabroot
\extern\lib\win64\compiler
\libmex.libMAT-File library (optional) —
matlabroot
\extern\lib\win64\compiler
\libmat.lib
Linux Libraries
Engine library —
matlabroot
/bin/glnxa64/libeng.soMatrix library —
matlabroot
/bin/glnxa64/libmx.soMEX library (optional) —
matlabroot
/bin/glnxa64/libmex.soMAT-File library (optional) —
matlabroot
/bin/glnxa64/libmat.so
macOS Libraries
Replace macos
with either maca64
for macOS with Apple silicon or maci64
for macOS with Intel®.
Engine library —
matlabroot
/bin/macos
/libeng.dylibMatrix library —
matlabroot
/bin/macos
/libmx.dylibMEX library (optional) —
matlabroot
/bin/macos
/libmex.dylibMAT-File library (optional) —
matlabroot
/bin/macos
/libmat.dylib