Cpp to Mex conversion

16 views (last 30 days)
How can I do a cpp conversion to mex?
Thanks
  1 Comment
James Tursa
James Tursa on 17 Jun 2019
Please post more details. Have you looked at the examples in the doc?

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 18 Jun 2019
Looks like you have a mismatch with variable types, probably an older piece of code that you are trying to compile on a newer MATLAB version. E.g., the code probably has this definition:
const int *DimsBness;
when it should be this:
const mwSize *DimsBness;
And you probably have something like this:
const int *dims;
or this
int dims[] = {2,3}; /* or whatever */
when it should be this:
const mwSize *dims;
or this
mwSize dims[] = {2,3}; /* or whatever */
Simply update the code with the required types to fix these errors.
  3 Comments
Stelios Fanourakis
Stelios Fanourakis on 20 Jun 2019
James
I used this command to create the .mexmaci64
mex -compatibleArrayDims BoneSegmentationDP.cpp
I tried to call it but I get the error of "Not correct or not enough input arguments".
I cannot open to edit this .mexmaci64. I cannot find any other function in the files to call it so to know how many inputs and what inputs it requires.
I also attach both cpp and .mexmaci64 so you tell me what am I doing wrong. Can you open .mexmaci64? Can you tell me its inputs?

Sign in to comment.

More Answers (1)

Suryaansh Mata
Suryaansh Mata on 18 Jun 2019
You can use the inbuilt MEX functionality to make use of the source code in C/C++ in MATLAB. Follow the step-by-step detailed instructions given at https://www.mathworks.com/help/matlab/matlab_external/standalone-example.html for the same.
  2 Comments
Maria Cristina Bustos Rodriguez
I solved that mxCreateNumericArray_730 error by putting this warning:
"mex -DMX_COMPAT_32 yourcode.cpp "

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!