スタンドアロンアプリ作成時のパッケージ化について
3 次查看(过去 30 天)
显示 更早的评论
スタンドアロンアプリの作成をしようとしているのですが、パッケージ化の時に以下の画面のようになります。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1446027/image.png)
パッケージで、真ん中の段ボール箱みたいなところで
が出てるのですが、パッケージ化に失敗してるということでしょうか。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1446042/image.png)
また「アプリケーションの実行に必要なファイル」のところで、自動的にこの部分に入ってるファイルに
のマークがいっぱいでていて、カーソルを当てると
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1446042/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1446047/image.png)
「手動で依存ファイルを追加してください」と出てくるのですが、一個ずつ対応必要なのでしょうか?
(前回は特に対応した覚えがないのですが…)
最終的に作成できたアプリは一応動いているようなのですが、不具合であれば修正しておきたいと思い質問させていただきました。
お忙しいところお手数をおかけいたしますが、分かる方がいらっしゃいましたらご教示いただけますと幸いです。
どうぞよろしくお願いいたします。
0 个评论
回答(1 个)
Kojiro Saito
2023-7-31
サポートパッケージによっては、全てのファイルがパッケージに含まれないことがあるので、今回のようなpファイル (難読化されたスクリプト)だと手動でパッケージに追加するなどの対応が必要になります。
ただ、全てのファイルが含まれていなくてもサポートパッケージの動作に問題ないこともあります。ですので、実行上問題なければこのままで大丈夫です。
3 个评论
Kojiro Saito
2023-7-31
❶
>!マークがついたファイルがある場合(読み込まれていないpファイルがある場合)に表示される
はい、アプリケーションの実行に必要なファイルに含められたが、コンパイル(mccコマンド実行)時に何かしらの警告が出たファイルという意味になります。pファイルのため読み込まれなかったのも警告の一つです。
❷
アプリケーションコンパイラの画面に表示されている情報は、.prjファイルに格納されますので、テキストエディターでこの.prjファイルを開いて、「<fileset.resources>」の欄にあるファイルパスを取得する方法があります。
また、サポートパッケージ名が分かっていれば、フォルダーの場所を取得できますので、こちらでサポートパッケージのファイル一式も取得できます。
spkgList = matlab.depfun.internal.DeployableSupportPackages;
spkg = getSupportPackage(spkgList, '<spkgname>');
getIncludeList(spkg)
❸この問題は、ファイルにpファイルが含まれていたり、R2021b、R2021b Update1のバグで一部のサポートパッケージが取り込めれない場合に生じます。
バグのほうはR2021b Update2以降とR2022aで解消されています。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!