Use Compiler to Deploy Code on Remote Unix Machine

3 views (last 30 days)
I would like to deploy MATLAB code on a remote unix machine that reads an input file and outputs a few output files. This is my first time deploying. How do I accomplish this? For simplicity, main.m contains a function which takes 2 arguments: 1) an input filename and 2) the path of a directory for saving the output files. And say I have a helper file fcn.m.
What are the steps for building the deployed code and executing it for a given input filename and output directory path?

Accepted Answer

OCDER
OCDER on 24 May 2018
To compile the code, use mcc in MATLAB. It'll include your fcn.m file IF that file is in the MATLAB path.
>> mcc -m main.m
%This'll generate some files and one that's run_main.sh
To execute in the UNIX machine, you'll have to do something like this:
UNIX/your_path]$ ./run_main.sh mcr_path input1 input2
mcr_path = where the MATLAB Runtime library is in the Unix machine
input1 = your main.m 1st input
input2 = your main.m 2nd input
WARNING: you must compile the main.m code with the same OS and the same MATLAB Runtime Library version as what's on the UNIX machine. You can't compile in Windows and let it run in Unix. The workaround is to compile in Unix.
  2 Comments
Juan Ramirez
Juan Ramirez on 25 May 2018
Edited: Juan Ramirez on 25 May 2018
Thank you for the answer! That's disappointing about compiling on the same platform :(
Maybe compiling for UNIX on a windows machine can be done within Cygwin.
Walter Roberson
Walter Roberson on 25 May 2018
mcc does not support using Cygwin as a toolchain.

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!