Filter löschen
Filter löschen

How to create a dll from a Matlab code

173 Ansichten (letzte 30 Tage)
isazetl
isazetl am 27 Nov. 2014
Beantwortet: Crystal Li am 19 Feb. 2019
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 Kommentare
Ryan Livingston
Ryan Livingston am 2 Dez. 2014
Bearbeitet: Ryan Livingston am 2 Dez. 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
Farhad VISHKAEE am 22 Jun. 2016
Bearbeitet: Farhad VISHKAEE am 22 Jun. 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 ;)

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Jorik
Jorik am 4 Dez. 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 Kommentar
Alden fuchs
Alden fuchs am 13 Mär. 2015
ok got dll but there are no callable functions in it

Melden Sie sich an, um zu kommentieren.


Crystal Li
Crystal Li am 19 Feb. 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

Kategorien

Mehr zu MATLAB Coder finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by