standalone doesn't start

2 次查看(过去 30 天)
Stefan
Stefan 2015-12-15
回答: Stefan 2015-12-16
Hello everybody,
I have deployed a standalone runtime of my application developped in MATLAB r2014b. If I run the standalone on my computer (with MATLAB installed) it comes up and works fine. If I tranfer the application-files to another computer and run the executable, it doesn't come up (with admin-rights or without). Only the splash screen is appears for several seconds an then disappears. In the windows command console there is an error thrown:
Error using ~=
Not enough input arguments.
Error in startup (line 15)
Not enough input arguments.
I have installed MCR_R2014b_win64_installer.exe from the MATLAB-website under admin-rights.
What is wrong?
Thanks for your help.
Greetings, Stefan
  1 个评论
Adam
Adam 2015-12-15
编辑:Adam 2015-12-16
I'm not familiar with the exact nature of what gets packaged into a deployed application, but from your error message it seems you have a startup file that is run every time Matlab starts. This is being packaged into your application and run when the application starts. Whatever is on line 15 of that startup file is not happy when it is run from elsewhere. Have you got some code working with a hard-coded path or something similar in there? I would guess you have something that is specific to your machine.
Off the top of my head I can't think what kind of call would result in 'Not enough arguments' for the ~= operator - it works if either operand is [], but I guess if one operand is simply not defined at all in the code path it is running that would cause it.
Personally I always build an installer rather than copying the raw executable around to different machines, but that shouldn't make a difference to your particular problem I don't think.

请先登录,再进行评论。

采纳的回答

Stefan
Stefan 2015-12-15
Hello Adam,
thanks for your advice. I remember, that there was a modification performed by our IT department. Could be that this affected my startup-file. But how can I prevent this being deployed wiht my application. I don't think I will need it for the application to run.
Greetings, Stefan
  2 个评论
Steven Lord
Steven Lord 2015-12-15
If there are lines in your startup.m that you don't want to be executed in a standalone application, guard them.
if ~isdeployed
disp(['This will only be displayed if you are NOT ', ...
'in a deployed application'])
end
Adam
Adam 2015-12-16
If you didn't create the startup file yourself and don't know where it is you can type
which startup
to tell you where it is or simply
edit startup
to open the startup file for editing or reading.

请先登录,再进行评论。

更多回答(2 个)

Image Analyst
Image Analyst 2015-12-15
and tell us what line 15 says, or even better, give us the first 15 lines of the source code.

Stefan
Stefan 2015-12-16
Hello guys,
many thanks for your comments and answers. I edited the startup.m like you said, Steven, and it works fine now. The Standalone works without any problems on other computers.
Greetings, Stefan

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by