Question

I am trying to compile a C++ code with mex but am unable to compile it successfully . Reading some related blogs, I installed both Microsoft Visual C++ 2010 Express and Windows Software Development Kit (SDK) 7.1 but still it's giving this error:

facePart.cpp(5) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory

Anyone can help me figure out the problem please...?

I am using a 64-bit Windows Platform with matlab version 2011a...

By the way, after typing mex -setup, it gives me something like this:

Please choose your compiler for building MEX-files:

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

Select a compiler: [1] Microsoft Visual C++ 2010 Express in C:\Program Files (x86)\Microsoft Visual Studio 10.0

[0] None

Compiler: 1

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\JOY\AppData\Roaming\MathWorks\MATLAB\R2011a\mexopts.bat From template: C:\PROGRA~1\MATLAB\R2011a\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. ************************************************************************
Was it helpful?

Solution

Remove #include "stdafx.h" from your code, or create an empty stdafx.h.

Ensure that C:\Users\JOY\AppData\Roaming\MathWorks\MATLAB\R2011a\mexopts.bat does not contain an option like /Yu "stdafx.h"

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top