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?

 Risposta accettata

Bruno
Bruno il 28 Feb 2012

0 voti

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

Più risposte (2)

Kaustubha Govind
Kaustubha Govind il 27 Feb 2012

0 voti

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 Commento

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?

Accedi per commentare.

Image Analyst
Image Analyst il 28 Feb 2012

0 voti

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?

Categorie

Prodotti

Richiesto:

il 27 Feb 2012

Community Treasure Hunt

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

Start Hunting!

Translated by