complied standalone app failed to include toolbox functions

2 ビュー (過去 30 日間)
xi
xi 2018 年 1 月 25 日
回答済み: Greg 2018 年 1 月 25 日
I made a gui, running perfectly in matlab enviorment v2017a. Then I complied it into a standalone application. But it failed to work at some point. I was able to track the failure, which occurred when I call functions in the toolbox/bioinfo/bioinfo/ Then I tried to included them in the "files required for your application to run". This seems to be helpful and passed some functions, but failure occurred at again, at a later position when a specific function was called: toolbox/bioinfo/bioinfo/multialign.m. My guess is that, this function calls some other toolbox functions not included.
I assume that, the toolbox functions should be all included in the runtime library. Am I wrong?
  2 件のコメント
Adam
Adam 2018 年 1 月 25 日
編集済み: Adam 2018 年 1 月 25 日
So long as the dependency checker can work out that these functions are being called then yes they should be. If they are being called via some string-based method, e.g. str2func, then the dependency checker will not find them as dependencies though and you would need to add the top-level function you are calling yourself (it should add all its dependencies).
xi
xi 2018 年 1 月 25 日
Thanks so much Adam! Your answer helps me to find out the problem. This specific function has parameters that are names strings of functions, which were not recognized as dependencies: multialign(P,tree,'ScoringMatrix',{'pam150','pam200','pam250'}); After including the functions pam150(), pam200(),pam250(), it works.
Thanks!

サインインしてコメントする。

回答 (1 件)

Greg
Greg 2018 年 1 月 25 日
Use the %#function pragma to help the dependency checker find those str2func-type files.
See documentation here for all the specifics on using %#function.

カテゴリ

Help Center および File ExchangeEnvironment and Settings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by