Using mexCallMATLAB to instantiate an object ?
Show older comments
Hello,
I'm trying to embed matlab into my C++ code, using the Engine API. I want to instantiate an object of a specific class ("Vector", say), and then inject that into the workspace via engPutVariable.
To instantiate the Vector, I'm trying to use
mxArray *rhs = ...; // argument
mxArray *lhs = 0;
mexCallMATLAB(1, &lhs, 1, &rhs, "Vector");
However, I'm observing a segmentation fault at the mexCallMATLAB call. Does anyone see what I'm doing wrong here ? Is there a better way to construct an instance of a specific Matlab class from C++ ?
Many thanks, Stefan
Accepted Answer
More Answers (1)
Kaustubha Govind
on 21 Jun 2011
0 votes
Have you tried following the documentation examples? As far as I know, the Engine API requires you to use engEvalString to call into functions. mexCallMATLAB is used only in MEX-functions.
Categories
Find more on Call MATLAB from C 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!