MATLAB: How to generate MEX from package function in MATLAB

directoryMATLABmatlab codermexpackagepath

I have the following directory structure:
main
+model
run.m
+options
opt.m
main.m
and so forth.
I have a function under `+model` directory called `run` that depends on some functions in the `+options` directory, such that my `main.m` script under directory `main` calls `model.run()` and the function `run` calls some `options.opt()`.
I want to generate a MEX file of `model.run()`, so I run the `coder` from MATLAB command prompt, and on the first screen, where I enter the function name to generate code for, I type
model.run
and the coder simply displays the error:
This file is shadowed by C:\....\main\+model\run.m
I already tried adding the `main` directory to the path, but it didn't work.
  • Is it even possible to compile a MEX for any package function, such as `model.run()` in this scenario?
MATLAB version: '9.4.0.813654 (R2018a)'

Best Answer

Functions within packages are not supported as entry-point functions. (Current as of R2018b)
See the following question/answer with workarounds (including the one described by Walter on this question):