アプリケーションコンパイラ上の "アプリケーションの実行に必要なファイル" に追加されたファイル​を除外するにはどうす​ればよいですか?

8 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2021 年 3 月 23 日
編集済み: MathWorks Support Team 2021 年 3 月 23 日
MATLAB Compiler のアプリケーションコンパイラ(deplytool) から MATLAB プログラムをコンパイルしています。
MATファイルを load するプログラムを "メインファイルの追加" から追加すると、自動的に "アプリケーションの実行に必要なファイル"の部分に、MAT ファイルが追加されますが、スタンドアロンアプリケーションには、このファイルを追加したくありません。
削除しても、また追加されてしまいます。自動的に追加されるファイルを削除する方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2021 年 3 月 23 日
編集済み: MathWorks Support Team 2021 年 3 月 23 日
R2020a 以降のバージョンでは、"%#exclude" プラグマを使用して、mcc コマンドの実行中に依存関係の分析中にファイルまたは関数の依存関係を無視させることが可能です。
例:
function test1
%#exclude Sampledata.mat
load Sampledata.mat
plot(1:10)
詳細は、以下のドキュメントを参照してください。
- %#exclude
R2019b以前のバージョンをご利用の場合は、以下の情報を参照してください。
R2016b以降のバージョンでは、依存関係分析によって、メインプログラムの実行に必要となるファイルを検出し、自動的にパッケージに追加されることになりました。詳細についてはリリースノートを参照してください。
結果として、依存関係分析によって検出された後にファイルを削除することはできません。
一般的な方法として、uigetfile 関数でダイアログから直接ファイルを指定する方法をお勧めします。
function test1
[fname,fpath]= uigetfile('*.mat');
data= load(fullfile(fpath,fname));
plot(1:10)
代替案としては、以下の記述方法に変更する方法が考えられます。
load('./Sampledata.mat')
ただし、以下のようなUNCパスが使用されている場合、回避できない可能性があります。
data = load('\\networkdrive\project\application\datasets\Sampledata.mat');
このような場合には、eval 関数を使用して記述することで回避可能です。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB Compiler SDK についてさらに検索

製品


リリース

R2016b

Community Treasure Hunt

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

Start Hunting!