complied standalone app failed to include toolbox functions

1 view (last 30 days)
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
Edited: 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.

Categories

Find more on Software Development Tools in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!