complied standalone app failed to include toolbox functions

1 Ansicht (letzte 30 Tage)
xi
xi am 25 Jan. 2018
Beantwortet: Greg am 25 Jan. 2018
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 Kommentare
Adam
Adam am 25 Jan. 2018
Bearbeitet: Adam am 25 Jan. 2018
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 am 25 Jan. 2018
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!

Melden Sie sich an, um zu kommentieren.

Antworten (1)

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

Kategorien

Mehr zu Environment and Settings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by