MATLAB: How to call a .mexw64 file in a .m function? / MEX workflow

functionMATLABmexworkflow

Hi there,
I have built a MEX-compatible .c file, compiled it with a suitable compiler, tested it, and generated a .mexw64 file.
I would like to call the MEX function from a .m function, so I tentatively add the path …/project/mex/ ; this is where the .mexw64 file has been placed.
I call the mex file from a .m function which resides at …/project/m/ simply by the filename, as if it were an internal funtion e.g.
chk = calcChecksum(line);
I'm curious about the following:
1) Does this seem like a reasonable approach?
2) Must I do anything to setup the ability to call MEX functions prior to the call?
3) When one does the typical
mex -setup
<choose compiler>
mex '...\project\c\calcChecksum.c'
where is the .mexw64 (or equivalent) file written?
Thanks,
Chris

Best Answer

  1. Yes, this is the correct approach.
  2. No, you don't need to set anything up, other than adding the directory containing the .mexw64 file to the MATLAB path.
  3. Typically the MEX binary gets generated into the directory that you run the MEX command from (unless you use the "-outdir dirname" option with the mex command).