How to call an external .dll library in MATLAB ?
35 次查看(过去 30 天)
显示 更早的评论
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 个评论
Ian Peikon
2016-2-12
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!
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Call C from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!