compiler.build.dotNETAssemblyを用いて、関数ファイル内で呼び出される関数ファイルを含めてデプロイする方法
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
啓嗣
am 27 Dez. 2023
Kommentiert: Kojiro Saito
am 5 Jan. 2024
お疲れ様です。
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 Kommentare
Akzeptierte Antwort
Kojiro Saito
am 28 Dez. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu C 共有ライブラリの統合 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!