MEX files (MATLAB executables) are dynamically-linked libraries, and as such are (1) platform-specific and (2) binary. Both of these are problematic from a reproducibility standpoint:

  1. You may have compiled your executable files on Windows, while Code Ocean runs Linux, and some readers might run Linux/Mac locally.
  2. More importantly, they are not transparent – readers will be unable to inspect and reuse the code.

For those reasons, we ask that authors include the source code for all pre-compiled executables and build them on Code Ocean. (For MEX in particular,  this requires installing build-essential  through apt-get. See Configuring your computational environment: an overview for further information.)

See the published capsule BRAS: Bundle Robust Alignment for Panoramic Stitching for a demonstration of compiling mex files on Code Ocean. 

If you have any questions about compiling your source code, contact us through live support or email, and we will be happy to help.

Did this answer your question?