MATLAB Answers

complied standalone app failed to include toolbox functions

3 views (last 30 days)
xi
xi on 25 Jan 2018
Answered: Greg on 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 Comments

Adam
Adam on 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 on 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!

Sign in to comment.

Answers (1)

Greg
Greg on 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.

  0 Comments

Sign in to comment.


Translated by