MATLAB Compiler で作成したexeが正しく動作しない

上記URLの手順に従い、サンプルコード「magicsquare」のexe化を行いました。
アプリケーションのインストールまでできましたが、アプリケーションを実行しても、magicsquareの実行結果がどこにも表示されません。
アプリケーションの実行手順は以下のようにしました。
------------------------------------------------
1.コマンドプロンプトを起動。
2.「C:\Program Files\magicsquare」に移動し、「application\magicsquare 5」と実行。
3.画面中央にスプラッシュウインドウが表示されるが、2秒ほどで消える。コマンドプロンプト側はすぐに制御が戻る。
1.png
------------------------------------------------
URLには
> 5 行 5 列の魔方陣がコンソールに表示されます。
> 17 24 1 8 15
> 23 5 7 14 16
> 4 6 13 20 22
> 10 12 19 21 3
> 11 18 25 2 9
とありますが、どこに表示されるのでしょうか?
手順が間違っているのでしょうか?

 Accepted Answer

Kojiro Saito
Kojiro Saito on 11 Jan 2019

1 vote

コンパイルする際に、ランタイム追加設定の「Windowsの実行コマンドシェル(コンソール)を表示しない」のチェックを外してコンパイルしてみてください。デフォルトではセミコロン無しの変数や、dispの値がコマンドプロンプトに表示されない設定となっていますが、このチェックボックスを外すと表示されるようになります。
あと、こちらはオプションですが、ログファイルを作成するようにしておくとうまく動作しない際にデバッグしやすくなります。
201911113117.jpg

5 Comments

Minh Quang Tang
Minh Quang Tang on 2 Nov 2020
Edited: Minh Quang Tang on 2 Nov 2020
How to turn off this option when compile console application by mcc command?
@Minh
In mcc command, you can turn off this option by changing from WinMain to main with W option.
Here is a snippet.
mcc -o addmatrix -W 'main:addmatrix' -T link:exe addmatrix.m
Thank you,Saito. I could turn off this option and output to logfile using command as below.
mcc -R '-logfile,log.txt' -o dailytask -W 'main:dailytask' -T link:exe dailytask.m
Is there any option for mcc to append log to the same file, without overwriting the old one ?
Osumi R.
Osumi R. on 14 Dec 2022
>こちらはオプションですが、ログファイルを作成するようにしておくとうまく動作しない際にデバッグしやすくなります
ログファイルの保存先はどちらになりますでしょうか?
Kojiro Saito
Kojiro Saito on 14 Dec 2022
実行ファイル(EXE ファイル)と同じフォルダにログファイルが出力されます。

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Products

Release

R2018a

Community Treasure Hunt

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

Start Hunting!