which(mfilename) in compiled matlab code returns empty string
7 views (last 30 days)
Show older comments
Peter Stein
on 24 Mar 2014
Commented: Peter Stein
on 31 Mar 2014
Hi,
I have a script that runs perfectly if it is not compiled. I have to read a couple of config files. To get the directory of the current script, I use e.g.
which(mfilename)
and subsequently manipulate the string to get the location of the config files. This works perfectly well, if the script is not deployed. If it is deployed, I get merely an empty string. Is there any alternative? I currently use the MCR version 7.11. If find this odd. Shouldn't it return the location of the executable? Your input is very much appreciated.
Thank you.
0 Comments
Accepted Answer
Walter Roberson
on 24 Mar 2014
You should probably be checking isdeployed() and if so use ctfroot()
Note: if you add the configuration files to the executable using the mbuild "-a" flag then imread() and load() against the name without any directory will look first in the ctfroot
More Answers (0)
See Also
Categories
Find more on Troubleshooting in MATLAB Compiler SDK 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!