How to run Matlab generated .DLL files from Python
Mostrar comentarios más antiguos
I have written a simple test code as shown below:
function out = test(a,b)
out = a+b;
end
Then I have created .DLL file from MATLAB-> APPS -> library compiler -> c Shared Library.
Then I have tried to run it from Python. Here is my test code -
import ctypes
mydll = ctypes.cdll.LoadLibrary("test.dll")
a = 12
b = 100
c = mydll.test(a,b)
I expected to get 112. Instead I am getting following error -
AttributeError: function 'test' not found
I am using Matlab 2021a and have already installed Matlab runtime compiler v910. I think I need to invoke it from Python but don't know how to do this.
Can anyone suggest me how can I call Matlab generated .DLL file from Python?
TIA
3 comentarios
Kojiro Saito
el 21 de Jul. de 2021
Just a question. Why not compiling m file to Python package? With Library Compiler, you can create Python module and it's easier to use from Python.
Patiala Ghos
el 22 de Jul. de 2021
cr
el 17 de Jul. de 2023
There could be reasons why one would want to generate c shared lib for use in python. Licence is one. I have compiler lic and 2014b give me a way to output dll. To generate python libs I need another expensive licence. I have never been able to make dll work from C/C++
Respuestas (2)
Yongjian Feng
el 23 de Jul. de 2021
0 votos
Try to call your dll from a C program first, to make sure it actually works?
1 comentario
Mark Magdaleno
el 17 de Mzo. de 2022
Does this mean the python syntax is correct as indicated? If not can you supply know to work python syntax.
Thanks
Georgy Gilyarovskiy
el 6 de Oct. de 2023
I have relative question:
import ctypes
FileName = 'get_frame.dll'
mydll = ctypes.CDLL(FileName)
i = ctypes.c_int32(5)
s = ctypes.c_int32(32)
a = ctypes.create_unicode_buffer(1024)
mydll.get_frame(i, s, ctypes.byref(a))
This code gives me the following error:
OSError: exception: access violation reading 0x0000000000000000
I suppose that it's related to my python. It's probably 64-bit version.
Do you have any ideas how to solve this problem properly?
1 comentario
Pratyush
el 19 de Ag. de 2025
Were you able to resolve your issue?
Categorías
Más información sobre Python Package Integration en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!