How can export a mex function from sources into a regular c++ function (shared library)) ?

2 views (last 30 days)
How do I export mex functions (having the sources) into c++11 code (ie., without mex/matlab dependency) ?
Can I do that with the Library Compiler App [1] to create a shared c++ library (as source) ?
If not, how to adapt the mex functions into a regular c++11 ?

Answers (1)

Mark McBroom
Mark McBroom on 19 Jan 2019
To clarify, you have mex functions and you want those translated to a C++ library? Assuming the source code is either C or C++, then you simply need to compile/link into a DLL. You can use any compiler/linker to do this ( vis studio, gcc, etc). If the C/C++ code relies on MATLAB libraries, you can use the mbuild command.
  3 Comments
Mark McBroom
Mark McBroom on 21 Jan 2019
There is no way to generate C code for the MEX functions being used in your MEX sources... but the primary purpose of the MEX functions ( mxIsStruct, etc. ) is to all MATLAB to call your your C++ code. If you are planning to use your C++ code outside of MATLAB, then you no longer need these MEX functions. It sounds to me like you will have to modify your C++ code to get rid of all of the usages of MEX functions.
mathieu
mathieu on 22 Jan 2019
This definitely makes sense. We are reaching the third question: how to adapt the mex functions into a regular c++11 ? Or: is there any guideline ?

Sign in to comment.

Categories

Find more on C++ Shared Library Integration in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!