Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Mex file issue

Asked by Stephen Yip on 1 Feb 2012

Hi,

I already installed Visual C++ 2010 Express and Microsoft Windows SDK 7.1. I still get the following error message. Does anyone know how to fix the problem? Thanks!

>> mex -setup

Welcome to mex -setup. This utility will help you set up a default compiler. For a list of supported compilers, see http://www.mathworks.com/support/compilers/R2011b/win64.html

Please choose your compiler for building MEX-files:

Would you like mex to locate installed compilers [y]/n? y

Select a compiler: [1] Microsoft Software Development Kit (SDK) 7.1 in C:\Program Files (x86)\Microsoft Visual Studio 10.0\ [2] Microsoft Visual C++ 2010 Express in C:\Program Files (x86)\Microsoft Visual Studio 10.0\

[0] None

Compiler: 2

Please verify your choices:

Compiler: Microsoft Visual C++ 2010 Express Location: C:\Program Files (x86)\Microsoft Visual Studio 10.0\

Are these correct [y]/n? y

************************************************************************* Warning: MEX-files generated using Microsoft Visual C++ 2010 require that Microsoft Visual Studio 2010 run-time libraries be available on the computer they are run on. If you plan to redistribute your MEX-files to other MATLAB users, be sure that they have the run-time libraries. *************************************************************************

Trying to update options file: C:\Users\igrt\AppData\Roaming\MathWorks\MATLAB\R2011b\mexopts.bat From template: C:\PROGRA~1\MATLAB\R2011b\bin\win64\mexopts\msvc100freeopts.bat

Done . . .

************************************************************************ 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/support/solutions/en/data/1-5C27B9/?solution=1-5C27B9 Building with the -largeArrayDims option enables the new API. ************************************************************************

>> mex *.c Error: Could not find the compiler "cl" on the DOS path. Use mex -setup to configure your environment properly.

C:\PROGRA~1\MATLAB\R2011B\BIN\MEX.PL: Error: Unable to locate compiler. 

Error using mex (line 206) Unable to complete successfully.

0 Comments

Stephen Yip

Products

No products are associated with this question.

2 Answers

Answer by Ken Atwell on 2 Feb 2012
Accepted answer

It sounds like you have the right stuff installed. Can you try running a 64-bit Visual Studio Command Prompt (from the Windows Start menu). Then run cl in that command window and see if the compiler is available at all? If not, something went afoul in your Visual Studio or SDK installation.

Grasping at straws, another thing to try would to be choose option 1 in mex -setup. The SDK alone is enough for 64-bit compilation.

For reference, this Solution covers installing the Visual C++ 2010 Express compiler and 7.1 SDK.

0 Comments

Ken Atwell
Answer by Stephen Yip on 2 Feb 2012

Hi Ken,

I had to copy "mspdb100.dll" from the "..\Microsoft Visual Studio 10.0\Common7\IDE\" to the "..\Microsoft Visual Studio 10.0\VC\bin\".

It is now working smooth and nicely.

Thank you! Stephen

3 Comments

Coversky on 27 Jul 2012

Hi,

I have same issue going on and I'm pretty much out of hope. Are there other dll I should check/copy to make mex find the compiler ? Can I check the path after -setup ?

Cheers,

Chris

Mike Powell on 5 Sep 2012

Stephen,

This worked for me. Thank you SO MUCH!!!!!! I can't believe it! This is such a huge relief!

Amanda

Mehwish on 22 Jan 2013

It worked for me too! Thank you!

Mehwish

Stephen Yip

Contact us