MATLAB: In order to use the compiled mex function windows SDK 7.1 is required… Does anyone know why

cdllmexsdk

To put in more deal, I have all of the c++ redistributable packages installed also. But i would like to make it so windows SDK 7.1 is not required. These are the libraries I am using in my c++ code:
#include stdio.h #include stdlib.h #include string.h #include math.h #include vector #include io.h #include share.h #include limits.h #include iostream #include io.h #include share.h #include limits.h
Sorry if not the most matlab related question, but if someone helps me on this, it would be much appreciated.

Best Answer

Hi,
You don't need the SDK 7.1 in order to run a compiled component, e.g. a mex file. You simply need the Visual Studio 2010 (32bit or 64bit) redistributbale package.
BUT: If you compile you mex in DEBUG mode (-g flag) you need the SDk 7.1 in order to ship the debug version of some libraries. The redistributable package does NOT ship those debug libraries.
If this does not help, use the dependecy walker to do a runtime profile of the MATLAB.exe which tries to use the mex file. This will show you which DLL is missing.