Matlab Coder on Mac won't overwrite mex file

2 views (last 30 days)
I have a script which compiles a certain matlab function (NW3.m) to a mex file using Matlab Coder each time I run it. (I have it re-convert the matlab function to a mex file because the size of the inputs change depending on the run of the script). This works perfectly on windows, but on the mac side it won't overwrite the old mex file each time the script runs. Instead, it creates in the current directory a new sub-directory ../matlab/codegen/mex/NW3/ and it places the mex file in there. Any ideas on how to force it to overwrite the file in the current directory?
What I do right now is go in and manually delete the last .mex file created in the current directory before each run the of the script, but it is a pain.
  4 Comments
Joseph Cullen
Joseph Cullen on 11 Jul 2012
Edited: Joseph Cullen on 11 Jul 2012
clear mex does not work. I still have to manually delete the mex file between iterations. Any other ideas?
I did check the file permissions which have read/write capabilities. I don't know how else to check if a file is "locked" on OSX.
Denis Gurchenkov
Denis Gurchenkov on 17 Jul 2012
Hi Joseph,
I admit I do not understand how can this happen. There is no platform-specific behavior in the codegen command, and in my experiments, the mex file is always copied, if the permissions allow it. I still think there is something wrong with permissions, maybe the folder permissions are wrong (do not allow the file to be created)...
As a workaround, can you try using the "-d" option to instruct codegen to place the generated mex file somewhere else (outside of the problem folder), does that help?
Denis.

Sign in to comment.

Answers (0)

Categories

Find more on MATLAB Coder in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!