stand alone exe and passing arguments

Hi. Here's an example of what I compiled, how i invoke it, and the error. It's on DOS.
function success = allFat (sourcecode,dir,fat_dir,results_type,location,method_type,bin_size,lifetime,n_processors_input)
results_type = str2double(results_type);
bin_size = str2double(bin_size);
lifetime = str2double(lifetime);
n_processors_input = str2double(n_processors_input);
do stuff with these args...
end
Invoked like:
>fatigue_GE127_45cores_bin_size2_forEXE.exe J:\Calc\path J:\Calc\anotherPath J:\Calc\path\morePath 3 b GL 2 20 45
The error:
Undefined function or variable 'fatigue_GE127_45cores_bin_size2_forEXE'.
MATLAB:UndefinedFunction
Error:Undefined function 'fatigue_GE127_45cores_bin_size2_forEXE' for input arguments of type 'char'.

Answers (2)

You might need to name it allFat.exe in order to invoke allFat as your entry point.
Instead, I named the function fatigue_GE127_45cores_bin_size2_forEXE, AND used the project compiler to compile it, where I saw it pull in dependencies, and now it works. Does it mean that mcc -m doesn't grab the dependencies???

4 Comments

I do not see any evidence of dependency problems at the moment; just that it used the executable name as the entry point function to call. Which is not what I would have expected, and also suggests that you could make a multi-purpose executable that would act differently depending on what you named it??
There are users around me saying the name mattered. I've seen it when using the uncompiled .m versions calling other .m's with functions included in them. Naming matters. I guess I can go back to mcc -m to compile, as long as the names are correct...
data point:
I just tested on Mac, compiling with R2018a. The name of the executable did not affect which function was called first.
Yes and, data point, I have same names and compiled again with mcc -m and had the same error again. v2017a. Compiling using a prj file and letting it pull in dependencies works, for me.

Sign in to comment.

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Asked:

on 19 Jun 2018

Commented:

on 20 Jun 2018

Community Treasure Hunt

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

Start Hunting!