How to create a dll from a Matlab code
156 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello everyone,
I'm new on this forum, and I need your help on a problem.
I do not know if the title of the topic is very clear, so I will explain a little more my problem.
I made one or more functions on MATLAB in .m .
My goal is to use these function(s) via an editing HMI software. This software has a "function" that allows to import a dll library, then use one or more C functions by specifying different parameters.
So for that, I must first convert my .m in .c then create a dll all from Matlab ( because I have to add to MCR install the redistributable etc ...) tell me if I'm wrong, I'm discovering the dll ...
What I 've done for now :
I tried to use Matlab Coder to create a dll, stating clearly in the Build tab in settings , "C / C ++ Dynamic Library" for output type . Only I do not get a dll, but "only" the .h and .c files , here is an example of what I get:
With Matlab Compiler, I managed to create a dll from a .m code which gives me this:
I can import the dll library in the HMI software but I can not use functions included in the DLL , the software "does not find the function".
I am using Matlab R2012b .
If anyone sees what am I doing wrong ...
Thank you for helping me !
2 commentaires
Ryan Livingston
le 2 Déc 2014
Modifié(e) : Ryan Livingston
le 2 Déc 2014
Is the "Generate code only" check box checked on the "Build" tab? If you uncheck that, the generated code should be compiled into a DLL.
Farhad VISHKAEE
le 22 Juin 2016
Modifié(e) : Farhad VISHKAEE
le 22 Juin 2016
Hello,
Using this technique, you will then need a wrapper to generate your DLL.
Please follow the instruction in this PDF which directly goes to a stand alone DLL:
https://www.mathworks.com/matlabcentral/answers/uploaded_files/31889/MATLAB%20-%20C.pdf
Good luck ;)
Réponses (2)
Jorik
le 4 Déc 2014
MATLAB Coder and MATLAB Compiler are very different products, but both can indeed generate a DLL for interfacing with other applications. The product pages explain the use cases for these products quite well:
For MATLAB Coder the target must indeed be set to "C / C ++ Dynamic Library" in the project and the generated code must also be built (uncheck "Generate code only". The DLL is then generated in the codegen/dll/[project] directory, the following code generates a DLL for a shipping demo file hello_world.m
>> coderdemo_setup('coderdemo_hello_world');
>> codegen -config:dll hello_world
And then you should have a codegen/dll/hello_world/hello_world.dll.
1 commentaire
Crystal Li
le 19 Fév 2019
I have the similar questions. May I ask how to do it? Thanks in advance!
https://ww2.mathworks.cn/matlabcentral/answers/445511-how-to-hybrid-programming-to-dll-file
0 commentaires
Voir également
Catégories
En savoir plus sur MATLAB Coder dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!