which(mfilename) in compiled matlab code returns empty string

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.

 採用された回答

Walter Roberson
Walter Roberson 2014 年 3 月 24 日

0 投票

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMATLAB Compiler についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by