MATLAB Answers

Diede
0

Matlab compiler shared resources and helper files

Asked by Diede
on 31 Aug 2015
Latest activity Commented on by Diede
on 1 Sep 2015
I have some matlabfiles which must be a standalone. Because I need also other files I have a description to do it: Add folder X to shared resources and helper files (this is the same as the -a option in the command line) Further, the folders Y and Z must be in the Matlab path.
I know I can use matlab compiler. But I saw that shared resources and helper files is for older versions of matlab. Can anyone tell me what I have to do with these folder X (if I use the application matlab compiler) and what they mean with adding folder Y and Z to the matlab path?

  0 Comments

Sign in to comment.

2 Answers

Answer by Harsheel
on 31 Aug 2015
Edited by Harsheel
on 31 Aug 2015
 Accepted Answer

  1. You need to add folder X in the "Files required for your application to run" section below the "Application Information" GUI. See attached image.
  2. Before running deploytool, etc, add paths to Y and Z to matlab path:
addpath('C:\Documents\whatever\Y')
addpath('C:\Documents\whatever2\Z')

  5 Comments

If the addpath commands are only used for compilation process then we don't really need to do what you suggested.
It seems like the Y and Z folders only have .m files. In that case you don't have to create startup.m file. I'd suggest trying to run the executable without creating the startup.m file and seeing if you get any "undefined function or variable" error. Do make sure that everything works in MATLAB though.
Harsheel, I see that you work as a developer on the compiler toolbox. When will be be able to deploy files to specific folders, like to c:\users\public\documents? Not being able to do that, and the pain of having deployed files be in secret hidden locations, is a real deal breaker for me as far as using deploytool to create a complete installation package. (I don't blame you if you don't answer since it seems the Mathworks never tips their hand on upcoming features.) Sometimes I need users to be able to find and edit some files manually and we can't do that if the file is hidden in some strange folder or in a subfolder of Program Files.
P.S. I'll be at the Mathworks the week of Sept 22-24 if you want to talk in person.
Ok, I checked: the .m files in the Y and Z folders are needed for the files in the X folder.

Sign in to comment.


Answer by Image Analyst
on 31 Aug 2015

You can ship other files, however the deploytool requires that they be subfolders of your application. They can't be just anywhere you want. That's why I don't use deploytool. You can use a third party installation package builder to put your files where you want and they don't have to be on the MATLAB search path. However, when you go to access them, you must use the full path where you expect them to be. If you leave off the folder in your filename when you use something like load() or xlsread(), then it will search only the search path and won't find your special folder. That's why you need to specify the full path name, which, of course, is an excellent idea in any case.

  1 Comment

I don't know what you exactly mean. Some extra information: the standalone must not run just as standalone, but the standalone is used by some software (I have to upload the standalone in the software)

Sign in to comment.