MATLAB コードを使用した汎用 COM コンポーネントの作成
サポートされるプラットフォーム: Windows®
この例では、MATLAB® 関数を使用して汎用 COM コンポーネントを作成し、アプリケーションに統合する方法を説明します。MATLAB のライセンス コピーがターゲット システムにインストールされている必要はありません。
前提条件
Windows 10 SDK キットがインストールされていることを確認します。詳細については、Windows 10 SDK を参照してください。
MinGW-w64 がインストールされていることを確認します。MathWorks® File Exchange からインストールするには、MATLAB Support for MinGW-w64 C/C++ Compiler を参照してください。
MATLAB で Windows 10 SDK キットと MinGW-w64 を確実に検出するには、次のコマンドを使用します。
mbuild -setup -client mbuild_com
Microsoft® Visual Studio® がインストールされていることを確認します。
アプリケーションの実行には、エンド ユーザーによる MATLAB Runtime のインストールが必要です。詳細については、MATLAB Runtime のダウンロードとインストールを参照してください。
テスト目的で、MATLAB Runtime の代わりに MATLAB のインストールを使用することができます。
MATLAB での関数の作成
MATLAB で、パッケージ化する MATLAB コードを調べます。この例では、 にある matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\COM\MagicSquareExample\MagicSquareCompmakesquare.m を開きます。
function y = makesquare(x)
y = magic(x);MATLAB コマンド プロンプトで、makesquare(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 9compiler.build.COMComponent を使用した COM コンポーネントの作成
compiler.build.comComponent 関数を使用して、関数を COM コンポーネントにパッケージ化します。
にあるmatlabroot\toolbox\dotnetbuilder\Examples\VSVersion\COM\MagicSquareExample\MagicSquareCompmakesquare.mファイルを作業ディレクトリにコピーします。たとえば、Visual Studio Version 15 を使用している場合は、次のように入力します。copyfile(fullfile(matlabroot,'toolbox','dotnetbuilder','Examples', ... 'VS15','COM','MagicSquareExample','MagicSquareComp','makesquare.m')); appFile = which('makesquare.m')
関数
compiler.build.comComponentを使用して COM コンポーネントをビルドします。名前と値の引数を使用してコンポーネント名とクラス名を指定します。buildResults = compiler.build.comComponent(appFile, ... 'ComponentName','MagicSquareComp', ... 'ClassName','Class1');
compiler.buildコマンドで名前と値の引数を使用して、追加オプションを指定できます。詳細については、compiler.build.comComponentを参照してください。compiler.build.ResultsオブジェクトbuildResultsには、ビルド タイプ、生成ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報が含まれています。ビルド関数により、現在の作業ディレクトリの
MagicSquareCompcomComponentという名前のフォルダー内にファイルが生成されます。生成されるファイルの詳細については、MATLAB 関数のパッケージ化後に生成されるファイルを参照してください。メモ
生成されたコンポーネントには MATLAB Runtime またはインストーラーが含まれていません。
buildResultsオブジェクトを使用してインストーラーを作成するには、compiler.package.installerを参照してください。
COM アプリケーションへの統合
COM コンポーネントをアプリケーションに統合するには、Creating the Microsoft Visual Basic Projectを参照してください。
参考
compiler.build.comComponent | mcc