Problem with displaying output of executable

조회 수: 80(최근 30일)
Veronika 2012년 3월 27일
댓글: ratnesh pandey 2020년 7월 29일
I have a function which produces a string output:
out = myfunction(arg1, arg2)
The last line of the function is disp(out).
I used the deploytool to produce an executable (for Windows). However, when I call myfunction arg1 arg2 in cmd, I do not see any output.
I know the function is working correctly because if I replace disp by writing to a file, that works.
Also what is strange is that if I replace disp() by error(), I do see the error message.
Has anybody had this problem?

채택된 답변

Kevin Holst
Kevin Holst 2012년 3월 27일
If you're compiling it as a 'Windows Standalone Application' switch that to a 'Console Standalone Application'.

추가 답변(3개)

Antti 2018년 1월 26일
Note that in R2017b (and possibly beyond) on Windows 10, no output is printed on the Windows command prompt even if you launch the executable from command prompt, unless you uncheck "Do not display the Windows command shell (console) for execution" under "Additional runtime settings" in the Application Compiler tool of MATLAB Compiler.
  댓글 수: 4
ratnesh pandey
ratnesh pandey 2020년 7월 29일
@Antti Yes, that was the case with me. Thanks. I am using R2017b and only after unchecking the checkbox I am getting the result on console.

댓글을 달려면 로그인하십시오.

Image Analyst
Image Analyst 2012년 3월 27일
Did you use the -e option to suppress the console window? If so there is no place for things like disp() and fprintf(1,...) to output to. Otherwise they should show up in the console window (the black box window).

Veronika 2012년 3월 27일
Kevin, your solution helped, thanks! I thought the problem was elsewhere and did not consider the type of compiling.
Image Analyst, I used the deploytool with the default option (probably without supressing, because it works now).
Thanks for the quick replies!

Community Treasure Hunt

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

Start Hunting!

Translated by