Calling a C++ function from a shared library .so file
14 views (last 30 days)
Show older comments
Hi,
I would like some advices on how to approach a project. I have create a C++ code that extensively uses another library (CGAL). Now, I would like to call some function from this shared library, from Matlab, just like how I would call a Matlab function.
My question is, what is the best way to do this. I did a quick research and it comes up with this and this. The first link seems to be what I am looking, but I have no idea what Matlab interface file is, and there seems to be not a clear answer. The second link shows how to create a MEX file, which I am not sure if that's what I want, as I already made the shared library and not sure if I want to modify it.
Any suggestion?
0 Comments
Answers (1)
Dinesh Yadav
on 6 Mar 2020
Hi,
In simulink we can call C++ shared library functions using S-functions. Let main s-function file be main.cpp and shared library file be sharedObject.so. Compile the files and create a mex executable by calling the command
mex main.cpp -Ipath_to_.so_file)/sharedObject.so
Call the generated mex file in s-function block in simulink.
Hope this workaround using simulink works for you. For more information on s-functions type sfundemos in MATLAB command promt and see existing examples.
I am attaching a document containing a sample program.
0 Comments
See Also
Categories
Find more on Troubleshooting in MATLAB Compiler SDK in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!