compiler.build.dotNETAssemblyを用いて、関数ファイル内で呼び出される関数ファイルを含めてデプロイする方法
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
お疲れ様です。
compiler.build.dotNETAssemblyを用いて.NETアセンブリの作成を行おうと考えています。
ビルドの際、関数ファイル内で複数の関数ファイルを呼び出しており、その複数の関数ファイルが下層フォルダ内に存在しています。
以下、フォルダの階層例
...\MATLAB\WORK\mainfolder---main.m
|
|---...\MATLAB\WORK\mainfolder\sub1_folder
| |---sub1.m
|
|----...\MATLAB\WORK\mainfolder\sub2_folder
|---sub2.m
例を用いて説明するとmain.m関数内でsub1.m関数とsub2.m関数を呼び出しています。
フォルダのパス指定を行い、sub1.mとsub2.mをmain.mと一緒にビルドしようと考えました。
その際、下記のようなコマンドを実行することでビルドを行いたいと思いましたが、失敗しました。
AddFiles1 = fullfile('...\MATLAB\WORK\mainfolder\sub1_folder',{"sub1.m"})
AddFiles2 = fullfile('...\MATLAB\WORK\mainfolder\sub1_folder',{"sub2.m"})
buildResults = compiler.build.dotNETAssembly("main.m", 'Interface','matlab-data','Verbose','on', 'OutputDir','.\output','AssemblyName','Main','AdditionalFiles',AddFiles1,AddFiles2)
フォルダパスを指定してのcompiler.build.dotNETAssemblyを用いたコンパイル方法について教えていただければ幸いです。
0 commentaires
Réponse acceptée
Kojiro Saito
le 28 Déc 2023
AdditionalFilesにはファイル単位またはフォルダー単位で指定できますので、char文字列のセル配列(シングルクオーテーションの文字列を中括弧で囲む)か、string配列(ダブルクオーテーションのstring文字列を大括弧で囲む)かの2通りがあります。
フォルダーを指定する場合 (sub1_folderとsub2_folderのファイル全てを含める)
AddFiles1 = '...\MATLAB\WORK\mainfolder\sub1_folder';
AddFiles2 = '...\MATLAB\WORK\mainfolder\sub2_folder';
buildResults = compiler.build.dotNETAssembly("main.m", 'Interface','matlab-data','Verbose','on', 'OutputDir','.\output','AssemblyName','Main','AdditionalFiles', {AddFiles1,AddFiles2})
ファイル単位で指定する場合 (cell配列を使用)
AddFiles1 = fullfile('...\MATLAB\WORK\mainfolder\sub1_folder', {'sub1.m'});
AddFiles2 = fullfile('...\MATLAB\WORK\mainfolder\sub2_folder', {'sub2.m'});
buildResults = compiler.build.dotNETAssembly("main.m", 'Interface','matlab-data','Verbose','on', 'OutputDir','.\output','AssemblyName','Main','AdditionalFiles', [AddFiles1,AddFiles2])
ファイル単位で指定する場合 (string配列を使用)
AddFiles1 = fullfile("...\MATLAB\WORK\mainfolder\sub1_folder", ["sub1.m"]);
AddFiles2 = fullfile("...\MATLAB\WORK\mainfolder\sub2_folder", ["sub2.m"]);
buildResults = compiler.build.dotNETAssembly("main.m", 'Interface','matlab-data','Verbose','on', 'OutputDir','.\output','AssemblyName','Main','AdditionalFiles', [AddFiles1,AddFiles2])
3 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur MATLABCompiler SDK 入門 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!