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

2 次查看(过去 30 天)
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 个评论
Jan
Jan 2013-7-17
编辑:Jan 2013-7-17
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.

请先登录,再进行评论。

采纳的回答

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

更多回答(2 个)

Lokesh Ravindranathan
Note, you are use a mex file http://en.wikipedia.org/wiki/MEX_file. MEX file have dependencies. This could be one reason why windows SDK 7.1 is required.

ryan
ryan 2013-7-17
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..

类别

Help CenterFile Exchange 中查找有关 Troubleshooting in MATLAB Compiler SDK 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by