Deploying a standalone application that uses a shared library

6 views (last 30 days)
Hello,
I am trying to create a standalone Matlab application that uses a Simulink model. For this purpose, I compiled the Simulink model into a .dll file using this french tutorial. This worked pretty well and in Matlab I can use all the functions of the model.
The next step would be to compile the entire Matlab programm into a standalone application. Simply using the application compiler doesn't work and I read that the function loadlibrary is not supported in standalone applications. The GUI works, but when I try to calculate something with the model, nothing happens.
What would the correct way of doing this be? I read something about maybe 'prototype files'.
Thanks in advance!
  2 Comments
Walter Roberson
Walter Roberson on 20 Dec 2018
coder.ceval() inside a MATLAB Function Block can be used to add a call to an arbitrary C function, passing in parameters. After that it is just a matter of linking the library to the executable at build time.
ZedRedLed
ZedRedLed on 21 Dec 2018
Thanks for the response! How exactly would I go about doing this? I am currently loading in the library with a header .m file. By linking the library to the exe, do you mean including the files in the build?

Sign in to comment.

Accepted Answer

ZedRedLed
ZedRedLed on 21 Dec 2018
Nevermind, I ended up following these instructions. I was confused at first, because the loadlibrary function with the mfilename addition wasn't creating any new prototype file, but I ended up just using the old .m header, only this time I also included the newly generated thunk .dll as a required file. After that, everything worked as expected and I did not have to change anything inside my actual code.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!