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'.

Réponses (2)

Walter Roberson
Walter Roberson le 19 Juin 2018

0 votes

You might need to name it allFat.exe in order to invoke allFat as your entry point.
David Pesetsky
David Pesetsky le 19 Juin 2018

0 votes

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 commentaires

Walter Roberson
Walter Roberson le 19 Juin 2018
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??
David Pesetsky
David Pesetsky le 19 Juin 2018
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...
Walter Roberson
Walter Roberson le 19 Juin 2018
data point:
I just tested on Mac, compiling with R2018a. The name of the executable did not affect which function was called first.
David Pesetsky
David Pesetsky le 20 Juin 2018
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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB Compiler dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by