link .dll files with matlab

32 次查看(过去 30 天)
hi I have some .dll files and I would like to link them with Matlab. Is there a way to load and read them in matlab?

采纳的回答

Dasharath Gulvady
Dasharath Gulvady 2015-5-28
You can use "loadlibrary" function to load and use the functions from a C/C++ DLL in MATLAB.
You can use "NET.addAssembly" to load a global .NET assembly in MATLAB:
  2 个评论
Jo
Jo 2015-5-29
Hi! many thanks for your answer. I tried using "loadlibrary" but I got this error:
"Error using loadlibrary (line 253) A 'Selected' compiler was not found. You may need to run mex -setup."
I used the ext=mexext and found out that ext = mexw64
The problem is that my files have to be used with the 32-bit version of IDL. If they can be read by Matlab it would also have to be a 32-bit version of Matlab.
Any ideas?
many thanks in advance
Dasharath Gulvady
Dasharath Gulvady 2015-5-29
If your DLLs are 32-bit, then you can only load them on a 32-bit MATLAB. In any case, you have to select a compiler using "mex -setup"

请先登录,再进行评论。

更多回答(1 个)

B.k Sumedha
B.k Sumedha 2015-5-29
编辑:B.k Sumedha 2015-5-29
It looks like you are using a MEX-function which used to have a .dll extension in very old releases of MATLAB. They now have extensions like mexw32, mexw64, etc. You can call these files directly like any other MATLAB function - there is no need to use LOADLIBRARY.
In any case, the issue is that MEX-files are platform-specific - the one you have is compiled for 32-bit Windows, so it won't be recognized on 64-bit MATLAB. If you have the source code corresponding to the file, you can use the MEX command to re-compile it for 64-bit Windows. Alternately, you can install 32-bit MATLAB on your 64-bit machines to run the 32-bit MEX-file. See How can I install 32-bit MATLAB on my 64-bit Windows machine? in matlab

类别

Help CenterFile 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