Custom Linking to Required API Libraries
MathWorks® recommends that you use the mex
command to build MEX files and engine applications. This build
script automatically links to the libraries required by the MATLAB® APIs used in your application.
To custom build these applications using an Integrated Development Environment (IDE)
instead of the mex
command, refer to this list of required run-time
libraries and include files. To identify path names, use these MATLAB commands.
Replace
matlabroot
with the value returned bymatlabroot
.Replace
compiler
with eithermicrosoft
ormingw64
.Replace
macos
with eithermaca64
for macOS with Apple silicon ormaci64
for macOS with Intel®.The path to the include files is the value returned by:
fullfile(matlabroot,'extern','include')
C++ MEX Functions
To build C++ MEX functions, use the C++ MEX API and MATLAB Data API for C++.
Include files:
mex.hpp
— Definitions for the C++ MEX APImexAdapter.hpp
— Utilities required by the C++ MEX function operator
Windows® libraries:
matlabroot
\extern\lib\win64\compiler
\libMatlabDataArray.lib
Linux® libraries:
Linux—
matlabroot
/extern/bin/glnxa64/libMatlabDataArray.so
macOS libraries:
macOS—
matlabroot
/extern/bin/macos
/libMatlabDataArray.dylib
C++ Engine Applications
To build C++ engine applications, use the Call MATLAB from C++ and MATLAB Data API for C++.
Include files:
MatlabEngine.hpp
— Definitions for the MATLAB Engine API for C++MatlabDataArray.hpp
— Definitions for a generic interface between C++ and MATLAB data
Windows libraries:
Engine library —
matlabroot
\extern\lib\win64\compiler
\libMatlabEngine.libMATLAB Data library —
matlabroot
\extern\lib\win64\compiler
\libMatlabDataArray.lib
Linux libraries:
Engine library —
matlabroot
/extern/bin/glnxa64/libMatlabEngine.soMATLAB Data library —
matlabroot
/extern/bin/glnxa64/libMatlabDataArray.so
macOS libraries:
Engine library —
matlabroot
/extern/bin/macos
/libMatlabEngine.dylibMATLAB Data library —
matlabroot
/extern/bin/macos
/libMatlabDataArray.dylib
C MEX Functions
To build C MEX functions, use the C Matrix API and C MEX API functions listed in Write C Functions Callable from MATLAB (MEX Files). Optionally, to read or write to MAT-files in your MEX functions, use the Write C Programs to Read MAT-File Data.
Include files:
mex.h
— Declares the entry point and interface routinesmatrix.h
— Definitions of themxArray
structure and function prototypes for matrix access routinesmat.h
(optional) — Function prototypes format
routines
Windows libraries:
matlabroot
\extern\lib\win64\compiler
\libmex.libmatlabroot
\extern\lib\win64\compiler
\libmx.lib
(optional)matlabroot
\extern\lib\win64\compiler
\libmat.lib
Linux libraries:
matlabroot
/bin/glnxa64/libmex.somatlabroot
/bin/glnxa64/libmx.so
(optional)matlabroot
/bin/glnxa64/libmat.so
macOS libraries:
matlabroot
/bin/macos
/libmex.dylibmatlabroot
/bin/macos
/libmx.dylib
(optional)matlabroot
/bin/macos
/libmat.dylib
Fortran MEX Functions
To build Fortran MEX functions, use the Fortran Matrix API and Fortran MEX API functions listed in Write Fortran Functions Callable from MATLAB (MEX Files). Optionally, to read or write to MAT-files in your MEX functions, use the Write Fortran Programs to Read MAT-File Data.
Include files:
mex.h
— Declares the entry point and interface routinesmatrix.h
— Definitions of themxArray
structure and function prototypes for matrix access routinesmat.h
(optional) — Function prototypes format
routines
Windows libraries:
matlabroot
\extern\lib\win64\compiler
\libmex.libmatlabroot
\extern\lib\win64\compiler
\libmx.lib
(optional)matlabroot
\extern\lib\win64\compiler
\libmat.lib
Linux libraries:
matlabroot
/bin/glnxa64/libmex.somatlabroot
/bin/glnxa64/libmx.so
(optional)matlabroot
/bin/glnxa64/libmat.so
macOS libraries:
matlabroot
/bin/macos
/libmex.dylibmatlabroot
/bin/macos
/libmx.dylib
(optional)matlabroot
/bin/macos
/libmat.dylib
C Engine Applications
To build C engine applications, use the C Matrix API and Call MATLAB from C. If you
include C MEX API functions such as mexPrintf
in you application,
then you must link to the libmex
library. For a list of
functions, see Write C Functions Callable from MATLAB (MEX Files). Optionally, to read or write MAT-files
in your application, use the Write C Programs to Read MAT-File Data.
Include files:
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
Windows libraries:
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:
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
Fortran Engine Applications
To build Fortran engine applications, use the Fortran Matrix API and Call MATLAB from Fortran. If you
include Fortran MEX API functions such as mexPrintf
in you application,
then you must link to the libmex
library. For a list of
functions, see Write Fortran Functions Callable from MATLAB (MEX Files).
Optionally, to read or write MAT-files in your application, use the Write Fortran Programs to Read MAT-File Data.
Include files:
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
Windows libraries:
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:
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
C MAT-File Applications
To build standalone applications to read data from C MAT-files, use the C Matrix API and Write C Programs to Read MAT-File Data. If you
include C MEX API functions such as mexPrintf
in you application,
then you must link to the libmex
library. For a list of these
functions, see Write C Functions Callable from MATLAB (MEX Files).
Include files:
mat.h
— Function prototypes format
routinesmatrix.h
— Definitions of themxArray
structure and function prototypes for matrix access routines
Windows libraries:
MAT-File library —
matlabroot
\extern\lib\win64\compiler
\libmat.libMatrix library —
matlabroot
\extern\lib\win64\compiler
\libmx.libMEX library (optional) —
matlabroot
\extern\lib\win64\compiler
\libmex.lib
Linux libraries:
MAT-File library —
matlabroot
/bin/glnxa64/libmat.soMatrix library —
matlabroot
/bin/glnxa64/libmx.soMEX library (optional) —
matlabroot
/extern/bin/glnxa64/libmex.so
macOS libraries:
MAT-File library —
matlabroot
/bin/macos
/libmat.dylibMatrix library —
matlabroot
/bin/macos
/libmx.dylibMEX library (optional) —
matlabroot
/extern/bin/macos
/libmex.dylib
Fortran MAT-File Applications
To build standalone applications to read data from Fortran MAT-files, use the
Fortran Matrix API and Write Fortran Programs to Read MAT-File Data. If you
include Fortran MEX API functions such as mexPrintf
in you application,
then you must link to the libmex
library. For a list of these
functions, see Write Fortran Functions Callable from MATLAB (MEX Files).
Include files:
mat.h
— Function prototypes format
routinesmatrix.h
— Definitions of themxArray
structure and function prototypes for matrix access routines
Windows libraries:
MAT-File library —
matlabroot
\extern\lib\win64\compiler
\libmat.libMatrix library —
matlabroot
\extern\lib\win64\compiler
\libmx.libMEX library (optional) —
matlabroot
\extern\lib\win64\compiler
\libmex.lib
Linux libraries:
MAT-File library —
matlabroot
/bin/glnxa64/libmat.soMatrix library —
matlabroot
/bin/glnxa64/libmx.soMEX library (optional) —
matlabroot
/extern/bin/glnxa64/libmex.so
macOS libraries:
MAT-File library —
matlabroot
/bin/macos
/libmat.dylibMatrix library —
matlabroot
/bin/macos
/libmx.dylibMEX library (optional) —
matlabroot
/extern/bin/macos
/libmex.dylib