External DLL not working when deployed

Hi, so I'm using Matlab R2009b, and i developed a C dll that is called TalkSerial.dll when running in matlab, it works flawlessy, but when i deploy it, it gives an error that it cant find the TalkSerial_proto.m, so I used the loadlibrary with mfilename to create the TalkSerial_proto and added it to the deploy project, it worked, but now it gives another error, that says The specified module could not be found... any ideas?

 采纳的回答

Bruno
Bruno 2012-2-28
It worked, def file was fine... it was just a driver I forgot to install... (dumb, DUMB me!!!).....

更多回答(2 个)

Most likely, the DLL you are attempting to load, or one of it's dependencies were not found on the deployed machine. I would recommend getting Dependency Walker, and run your deployed executable with it to profile missing dependencies.

1 个评论

It helped, turns out it was missing the VC 2005 Redist package, (it had only the 2008 installed, I thought it would be ok since i build it with VC8 compiler) but it still points an error to MPR.dll although this dll can be found in Windows\System32, I was thinking, I developed the DLL using the external def file instead of the declspec method, could this be the problem? even when it works fine with matlab installed machines?

请先登录,再进行评论。

Image Analyst
Image Analyst 2012-2-28
MPR is not the problem. That often shows up as missing with no fatal effects. Have you tried everything in the FAQ: http://matlab.wikia.com/wiki/FAQ#My_standalone_executable_won.27t_run_on_the_target_computer._What_can_I_try.3F Where is your DLL and what does your app report for ctfroot?

类别

帮助中心File Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by