Mex file issue

3 views (last 30 days)
Stephen Yip
Stephen Yip on 1 Feb 2012
Commented: na yan on 8 May 2015
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.

Accepted Answer

Ken Atwell
Ken Atwell on 2 Feb 2012
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.

More Answers (1)

Stephen Yip
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
Mike Powell
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
Mehwish on 22 Jan 2013
It worked for me too! Thank you!
Mehwish

Sign in to comment.

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!