running matlab exe file results in "Too many input arguments. MATLAB:TooManyInputs error"
5 ビュー (過去 30 日間)
古いコメントを表示
When compiling a MATLAB (.m) function (main_file below is code) into a standalone executable (.exe) through MATLAB Compiler, the command-line arguments passed to the executable are not being accepted. Instead of parsing the arguments through the getmcruserdata('syscommandargs') function within the compiled MATLAB application, MATLAB is throwing an error, stating there are "Too many input arguments. the following code works fine when i dont pass any args (main_file.exe). however with passign args I get error. Note that I expect when i pass args the disp('Not enough arguments received.'); print message but it does not. I made the following function to exe which is named main_file.exe. Running main_file.exe "test1args" "test2args" results in error (Too many input arguments. MATLAB:TooManyInputs). Please help me to resolve it. Thanks.
function main_file
param1 = 'test1args';
param2 = 'test2args';
if isdeployed
disp("Reading input arguments");
args = getmcruserdata('syscommandargs');
if isempty(args)
disp('Not enough arguments received.');
else
% Parse args
args_cell = strsplit(args{1}, ' ');
if numel(args_cell) >= 2
param1 = args_cell{1};
disp(param1);
param2 = args_cell{2};
disp(param2);
else
disp('more than 2 arguments received.');
end
end
else
disp('Running in MATLAB');
param1 = 'test1args';
disp('test2args');
disp(param1);
param2 = 'Yes';
disp('param2');
disp(param2);
end
disp("hello from executable...")
app = RunLocallyMat();
disp("init done")
app.main_process(param1, 'process', param2);
disp("process done")
end
0 件のコメント
採用された回答
Walter Roberson
2024 年 4 月 23 日
You need
function main_file(varargin)
When you compile an executable, command line arguments are passed as parameters to the main function . You defined function main_file without parameters, so running with no parameters at least gets the code started, but running with parmeters immediately fails for having passed extra parameters to main_file
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Argument Definitions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!