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

回答 (2 件)

Walter Roberson
Walter Roberson 2018 年 6 月 19 日

0 投票

You might need to name it allFat.exe in order to invoke allFat as your entry point.
David Pesetsky
David Pesetsky 2018 年 6 月 19 日

0 投票

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 件のコメント

Walter Roberson
Walter Roberson 2018 年 6 月 19 日
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 2018 年 6 月 19 日
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 2018 年 6 月 19 日
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 2018 年 6 月 20 日
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.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeMATLAB Compiler についてさらに検索

質問済み:

2018 年 6 月 19 日

コメント済み:

2018 年 6 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by