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?

 Réponse acceptée

Dasharath Gulvady
Dasharath Gulvady le 28 Mai 2015

0 votes

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 commentaires

Jo
Jo le 29 Mai 2015
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 le 29 Mai 2015
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"

Connectez-vous pour commenter.

Plus de réponses (1)

B.k Sumedha
B.k Sumedha le 29 Mai 2015
Modifié(e) : B.k Sumedha le 29 Mai 2015

1 vote

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

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by