Compilation using MEX failed! (Run 'mex -setup' to configure your C++ compiler)

Hey,
Im trying to use a truetime toolbox for Matlab, and that requiered c++ compiler. I have installed sdk and visual basic c++ compiler, but when I want to run the toolbox I get this error: Compilation using MEX failed! (Run 'mex -setup' to configure your C++ compiler)
Somebody here maybe knows how to solve tihs problem?
Thanks
Here is what I have done in Matlab prompt:
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/R2013b/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 in C:\Program Files (x86)\Microsoft Visual Studio 10.0
[0] None
Compiler: 2
Please verify your choices:
Compiler: Microsoft Visual C++ 2010 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\shabr1\AppData\Roaming\MathWorks\MATLAB\R2013b\mexopts.bat From template: C:\PROGRA~1\MATLAB\R2013b\bin\win64\mexopts\msvc100opts.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/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html Building with the -largeArrayDims option enables the new API.
************************************************************************

 Accepted Answer

HI,
the error you get "Compilation using MEX failed!" seems like a self thrown error. Take a look at the actual mex call which should do the compilation and maye pass down -v to get a verbose compile output. What is the output? What is the actual error message from the compiler?

6 Comments

It's the only message that I get when I try to run the toolbox (make_truetime). Have you tried to use TrueTime toolbox?
This toolbox is functional will C++ compiler, and I have installed that, so I don't know whether the error is in the toolbox or the compiler
The MEX call errors and the toolbox obfuscate the actual error. Use the MATLAB debugger and step through the call to make_truetime. At some point MEX will be called and thats where you can get the actual error.
Some googling will show this. There are plenty of MEX calles. debug through the code and see where it fails. If you know which MEX calls fails add a -v to get more output.
Thanks, I will try to do that and I'll let you know how things went.
After I started doing the debugging I discovered that I did save the toolbox in the wrong path. I relocated the toolbox file to the right place and it did work.
Thank you Friedrich for your quick response and the help. Debugging solved the problem :)
Hello, i have the same problem ..
where is the path should be located ?
thanks in advance

Sign in to comment.

More Answers (0)

Categories

Asked:

on 16 Jan 2014

Edited:

on 27 Feb 2018

Community Treasure Hunt

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

Start Hunting!