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 - matlabrootwith the value returned by- matlabroot.
- Replace - compilerwith either- microsoftor- mingw64.
- Replace - macoswith either- maca64for macOS with Apple silicon or- maci64for 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 API
- mexAdapter.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.lib
- MATLAB Data library — - matlabroot\extern\lib\win64\- compiler\libMatlabDataArray.lib
Linux libraries:
- Engine library — - matlabroot/extern/bin/glnxa64/libMatlabEngine.so
- MATLAB Data library — - matlabroot/extern/bin/glnxa64/libMatlabDataArray.so
macOS libraries:
- Engine library — - matlabroot/extern/bin/- macos/libMatlabEngine.dylib
- MATLAB 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 routines
- matrix.h— Definitions of the- mxArraystructure and function prototypes for matrix access routines
- mat.h(optional) — Function prototypes for- matroutines
Windows libraries:
- matlabroot\extern\lib\win64\- compiler\libmex.lib
- matlabroot\extern\lib\win64\- compiler\libmx.lib
- matlabroot\extern\lib\win64\- compiler\libmat.lib
Linux libraries:
- matlabroot/bin/glnxa64/libmex.so
- matlabroot/bin/glnxa64/libmx.so
- matlabroot/bin/glnxa64/libmat.so
macOS libraries:
- matlabroot/bin/- macos/libmex.dylib
- matlabroot/bin/- macos/libmx.dylib
- 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 routines
- matrix.h— Definitions of the- mxArraystructure and function prototypes for matrix access routines
- mat.h(optional) — Function prototypes for- matroutines
Windows libraries:
- matlabroot\extern\lib\win64\- compiler\libmex.lib
- matlabroot\extern\lib\win64\- compiler\libmx.lib
- matlabroot\extern\lib\win64\- compiler\libmat.lib
Linux libraries:
- matlabroot/bin/glnxa64/libmex.so
- matlabroot/bin/glnxa64/libmx.so
- matlabroot/bin/glnxa64/libmat.so
macOS libraries:
- matlabroot/bin/- macos/libmex.dylib
- matlabroot/bin/- macos/libmx.dylib
- 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 routines
- matrix.h— Definition of the- mxArraystructure and function prototypes for matrix access routines
- mat.h(optional) — Function prototypes for- matroutines
Windows libraries:
- Engine library — - matlabroot\extern\lib\win64\- compiler\libeng.lib
- Matrix library — - matlabroot\extern\lib\win64\- compiler\libmx.lib
- MEX library (optional) — - matlabroot\extern\lib\win64\- compiler\libmex.lib
- MAT-File library (optional) — - matlabroot\extern\lib\win64\- compiler\libmat.lib
Linux libraries:
- Engine library — - matlabroot/bin/glnxa64/libeng.so
- Matrix library — - matlabroot/bin/glnxa64/libmx.so
- MEX library (optional) — - matlabroot/bin/glnxa64/libmex.so
- MAT-File library (optional) — - matlabroot/bin/glnxa64/libmat.so
macOS libraries:
- Engine library — - matlabroot/bin/- macos/libeng.dylib
- Matrix library — - matlabroot/bin/- macos/libmx.dylib
- MEX library (optional) — - matlabroot/bin/- macos/libmex.dylib
- MAT-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 routines
- matrix.h— Definition of the- mxArraystructure and function prototypes for matrix access routines
- mat.h(optional) — Function prototypes for- matroutines
Windows libraries:
- Engine library — - matlabroot\extern\lib\win64\- compiler\libeng.lib
- Matrix library — - matlabroot\extern\lib\win64\- compiler\libmx.lib
- MEX library (optional) — - matlabroot\extern\lib\win64\- compiler\libmex.lib
- MAT-File library (optional) — - matlabroot\extern\lib\win64\- compiler\libmat.lib
Linux libraries:
- Engine library — - matlabroot/bin/glnxa64/libeng.so
- Matrix library — - matlabroot/bin/glnxa64/libmx.so
- MEX library (optional) — - matlabroot/bin/glnxa64/libmex.so
- MAT-File library (optional) — - matlabroot/bin/glnxa64/libmat.so
macOS libraries:
- Engine library — - matlabroot/bin/- macos/libeng.dylib
- Matrix library — - matlabroot/bin/- macos/libmx.dylib
- MEX library (optional) — - matlabroot/bin/- macos/libmex.dylib
- MAT-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 for- matroutines
- matrix.h— Definitions of the- mxArraystructure and function prototypes for matrix access routines
Windows libraries:
- MAT-File library — - matlabroot\extern\lib\win64\- compiler\libmat.lib
- Matrix library — - matlabroot\extern\lib\win64\- compiler\libmx.lib
- MEX library (optional) — - matlabroot\extern\lib\win64\- compiler\libmex.lib
Linux libraries:
- MAT-File library — - matlabroot/bin/glnxa64/libmat.so
- Matrix library — - matlabroot/bin/glnxa64/libmx.so
- MEX library (optional) — - matlabroot/extern/bin/glnxa64/libmex.so
macOS libraries:
- MAT-File library — - matlabroot/bin/- macos/libmat.dylib
- Matrix library — - matlabroot/bin/- macos/libmx.dylib
- MEX 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 for- matroutines
- matrix.h— Definitions of the- mxArraystructure and function prototypes for matrix access routines
Windows libraries:
- MAT-File library — - matlabroot\extern\lib\win64\- compiler\libmat.lib
- Matrix library — - matlabroot\extern\lib\win64\- compiler\libmx.lib
- MEX library (optional) — - matlabroot\extern\lib\win64\- compiler\libmex.lib
Linux libraries:
- MAT-File library — - matlabroot/bin/glnxa64/libmat.so
- Matrix library — - matlabroot/bin/glnxa64/libmx.so
- MEX library (optional) — - matlabroot/extern/bin/glnxa64/libmex.so
macOS libraries:
- MAT-File library — - matlabroot/bin/- macos/libmat.dylib
- Matrix library — - matlabroot/bin/- macos/libmx.dylib
- MEX library (optional) — - matlabroot/extern/bin/- macos/libmex.dylib