How to call an external .dll library in MATLAB ?
35 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello!
I am quite new at using MATLAB and I am trying to load an external library to MATLAB. One of the function of this library is supposed to return me a value but instead it returned nothing (a libpointer) when I used loadlibray and calllib. So I am wondering if I can call the .dll and .h files in C++ and then call this C++ file in MATLAB (using MEX)? Having no knowledge in C++, any help would be very appreciated :)
Mana
10 Commenti
Ian Peikon
il 12 Feb 2016
Hi Mana, I hope you still check this thread. Anyway, we had exactly the same problem with you, with exactly the same library (from MedAssociates). The fix is very simply. All you need to do is modify the header file (I suggest making a separate header file so that your other programs that depend on 704IO.dll, etc. are still working). Here is the offending code:
extern "C" short WINAPI EXPORT PortRead(short Rack, short Port, short Offset);
extern "C" void WINAPI EXPORT PortWrite(short Rack, short Port, short Offset, short Value);
This just needs to be changed, by removing the EXPORT, to:
extern "C" short WINAPI PortRead(short Rack, short Port, short Offset);
extern "C" void WINAPI PortWrite(short Rack, short Port, short Offset, short Value);
Just be sure to update the calls to the library to use your new header file (we just named it 704IOb.h).
Hope that helps!
Risposte (0)
Vedere anche
Categorie
Scopri di più su Call C from MATLAB in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!