Search code examples
c++matlabvisual-studiocompiler-errorsmex

Error using mex: No supported compiler or SDK was found


Despite the fact that I get the following message by typing mex -setup:

>> mex -setup
MEX configured to use 'Microsoft Visual C++ 2013 Professional (C)' for C language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
     variables with more than 2^32-1 elements. In the near future
     you will be required to update your code to utilize the
     new API. You can find more information about this at:
     http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

To choose a different language, select one from the following:
 mex -setup C++ 
 mex -setup FORTRAN

When I want to compile a certain .cpp file, I get the following error:

>> mex -g mx_minimum_power.cpp cvm_em64t_debug.lib
Error using mex
No supported compiler or SDK was found. For options, visit 
http://www.mathworks.com/support/compilers/R2015a/win64.html.

Solution

  • Compiling .cpp file uses C++ compiler (.c file uses C compiler).
    Use mex -setup C++, for setting up C++ compiler.

    Apparently source file extension does matter when using mex instruction...