From: Mark on 16 May 2010 07:28 If I make an executable with Matlab Compiler on a windows pc, can someone run this program on an other platform if they have the MCR for that platform? Which files do they need for that, only the .exe and the .ctf?
From: Walter Roberson on 16 May 2010 19:04 Mark wrote: > If I make an executable with Matlab Compiler on a windows pc, can > someone run this program on an other platform if they have the MCR for > that platform? Which files do they need for that, only the .exe and the > .ctf? They would need: - the exact same version of MCR - the .ctf - binaries of any mex'd function, compiled for their platform I do not know what else they would need (I've never used the compiler.)
From: Image Analyst on 16 May 2010 19:52 Mark : You may not have a ctf file (I never do). All you need to do is to distrubute 1. your executable 2. any ancillary files needed by your program, such as .mat files, Excel workbooks or templates, image or data files read in at run time, any sample data files, documentation, etc. 3. the MCR installer that matches what came with your toolbox. 4. the Microsoft Visual C redistributable, because the one the MCR installer installs doesn't seem to contain everything needed such as msvcrt80.dll and msvsrt90.dll. 5. DependencyWalker to debug your executable when it doesn't run. This is a free Microsoft download and will find any missing components that your executable needs. If you put any files in subfolders of your program, then your program may not see them due to a weird quirk where it seems to unpack the executable in some weird hidden system folder. There are a few tricks for compiling that aren't obvious and they involve putting stuff into your startup.m file, and setting your environment variable MCR_CACHE_ROOT to . (just a single dot) so that your code unpacks into the folder where your executable lives rather than some strange temporary folder (which is the dumb default, and will prevent you from accessing your subfolders of your app). (This is Windows I'm talking about.) You can call them and they'll talk you through it. However, you will now have a weird folder in your executable folder because it creates it, and you can't delete it if MATLAB is running. Overall the compiler is quirky and almost never runs the first time your end user tries to run it. In fact we've actually had some end users buy the full-blown MATLAB on some computers because the end users get so fed up with the problems.
From: Mark on 17 May 2010 09:16 "Image Analyst" <imageanalyst(a)mailinator.com> wrote in message <hsq0f3$ftq$1(a)fred.mathworks.com>... > Mark : > You may not have a ctf file (I never do). All you need to do is to distrubute > 1. your executable > 2. any ancillary files needed by your program, such as .mat files, Excel workbooks or templates, image or data files read in at run time, any sample data files, documentation, etc. > 3. the MCR installer that matches what came with your toolbox. > 4. the Microsoft Visual C redistributable, because the one the MCR installer installs doesn't seem to contain everything needed such as msvcrt80.dll and msvsrt90.dll. > 5. DependencyWalker to debug your executable when it doesn't run. This is a free Microsoft download and will find any missing components that your executable needs. > > If you put any files in subfolders of your program, then your program may not see them due to a weird quirk where it seems to unpack the executable in some weird hidden system folder. There are a few tricks for compiling that aren't obvious and they involve putting stuff into your startup.m file, and setting your environment variable MCR_CACHE_ROOT to . (just a single dot) so that your code unpacks into the folder where your executable lives rather than some strange temporary folder (which is the dumb default, and will prevent you from accessing your subfolders of your app). (This is Windows I'm talking about.) You can call them and they'll talk you through it. However, you will now have a weird folder in your executable folder because it creates it, and you can't delete it if MATLAB is running. > > Overall the compiler is quirky and almost never runs the first time your end user tries to run it. In fact we've actually had some end users buy the full-blown MATLAB on some computers because the end users get so fed up with the problems. Wow, I thought the MATLAB standalone apps were pretty good. Thanks for the info, I will do my best to make it work!
|
Pages: 1 Prev: Nonlinear regression help Next: Simpson's 1/3rd Rule and 3/8th Rule |