In order to use my compiled mex function windows SDK 7.1 is required... Does anyone know why?

6 views (last 30 days)
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.
  1 Comment
Jan on 17 Jul 2013
Edited: Jan on 17 Jul 2013
I do not think, that you need the SDK, because having the runtime libs ("redistributables") installed must be enough. So please explain at first, why you think, that the SDK is required.

Sign in to comment.

Accepted Answer

Friedrich on 17 Jul 2013
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.

More Answers (2)

Lokesh Ravindranathan
Lokesh Ravindranathan on 17 Jul 2013
Note, you are use a mex file MEX file have dependencies. This could be one reason why windows SDK 7.1 is required.

ryan on 17 Jul 2013
Thanks Friedrich. I had to compile the mex in debug mode because it was linked to another .dll (not from microsoft). Looks like from what you said I dont have a choice..


Find more on Troubleshooting in MATLAB Compiler SDK 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!