MinGW-w64 Compiler
You can use the MinGW-w64 compiler to build MEX files, a MATLAB® interface to a C++ library, and standalone C/C++ or Fortran MATLAB engine and MAT-file applications. For more information, see "MATLAB Support for MinGW-w64 C/C++/Fortran Compiler".
Install MinGW-w64 Compiler
To install the compiler, use the Add-Ons menu.
On the MATLAB Home tab, in the Environment section, click Add-Ons > Get Add-Ons.
Search for MinGW or select from Features.
Building yprime.c
Example
You can test the MinGW® compiler by building the yprime.c
example. Copy the
source file to a writable folder.
copyfile(fullfile(matlabroot,'extern','examples','mex','yprime.c'),'.','f')
If you only have the MinGW compiler installed on your system, the mex
command automatically chooses MinGW. Go to the next step. However, if you have multiple C or C++
compilers, use mex -setup
to choose MinGW.
mex -setup
Build the MEX file.
mex yprime.c
MATLAB displays a “Building with” message showing what compiler was used to build the MEX file.
Run the function.
yprime(1,1:4)
For more information, see Troubleshooting and Limitations Compiling C/C++ MEX Files with MinGW-w64.
MinGW Installation Folder Cannot Contain Space
Do not install MinGW in a location with spaces in the path name. For example, do not use:
C:\Program Files\mingw-64
Instead, use:
C:\mingw-64
Updating MEX Files to Use MinGW Compiler
If you have MEX source files built with a different compiler that MATLAB supports, you might need to modify the code to build with the MinGW compiler. For example:
Library (
.lib
) files generated by Microsoft® Visual Studio® are not compatible with MinGW.Object cleanup is not possible when an exception is thrown using the
mexErrMsgIdAndTxt
function from C++ MEX files, resulting in memory leak.An uncaught exception in C++ MEX files compiled with MinGW causes MATLAB to crash.
MEX files with variables containing large amounts of data cannot be compiled, as the compiler runs out of memory.