MATLAB Compiler SDK で作成した C++ MWArray API 共有ライブラリを使用する C++アプリケーションを Visual Studio で作成するサンプルはありますか?

24 views (last 30 days)
MATLAB Compiler SDK ドキュメントの
または
により C++ mwArray API 共有ライブラリ「libmatrix.dll」を作成することはできました。
これらのドキュメントでは、この DLL をコールする C++ アプリケーションを作成する方法も紹介されていますが、MATLAB のコマンド mbuild による方法のみとなっています。
mbuild コマンドではなく、Visual Studio のプロジェクトを使用する場合の手順を教えてください。
 

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 2 Dec 2025 at 0:00
Edited: MathWorks Support Team on 2 Dec 2025 at 22:32
Visual Studio 2022 の場合:
(1) Visual Studio 2022 を起動し、[開始する] > [新しいプロジェクトの作成] を選択します。
(2) [新しいプロジェクトの作成] 画面にて [(C++の)コンソールアプリ] を選択して [次へ] を押下します。 
(3) [プロジェクト名] は任意で付けますが、ここでは [ConsoleApplication1] のままとします。[場所] でプロジェクト作成のフォルダを指定してから [作成] ボタンを押下します。プロジェクトが生成され、Visual Studio 画面が開きます。
(4) [プロジェクト] メニュー > [既存項目の追加] で C++ ソースファイル [matrix_mwarray.cpp] を選択して [開く] ボタンを押下します。C++ ソースファイルが ConsoleApplication1 プロジェクトに追加されます。(ConsoleApplication1.cpp ファイルは右クリックしてから [削除] します。)
(5) ソリューションエクスプローラーにて ConsoleApplication1 プロジェクトを右クリックし [プロパティ] を選択します。プロパティページが表示されます。
(6) [プロジェクト] メニューから [プロパティ] を選択します。ConsoleApplication1 のプロパティ設定画面が表示されます。
(7) [構成プロパティ] > [C/C++] > [全般] > [追加のインクルードディレクトリ] にて以下の2つのパスを追加します。
・作成した DLL ファイルのヘッダファイル (libmatrix.h) が存在するフォルダパス
・<MATLAB Compiler Runtime(MCR)のインストールフォルダ>\extern\include
(8) [構成プロパティ] > [C/C++] > [コード生成] > [ランタイムライブラリ] を [マルチスレッドDLL (/MD)] に設定します。
(9) [構成プロパティ] > [リンカ] > [全般] > [追加のライブラリディレクトリ] にて以下の2つのパスを追加します。
・作成した DLL ファイルのライブラリ (libmatrix.lib) が存在するフォルダパス
・mclmcrrt.lib が存在するフォルダパス(<MCRのインストールフォルダ>¥extern¥lib¥win64¥microsoft)
(10) [構成プロパティ] > [リンカ] > [入力] > [追加の依存ファイル] にて以下の2つの .lib ファイルを追加します。
・libmatrix.lib
・mclmcrrt.lib
(11) [ビルド] メニュー > [ソリューションのビルド] にて ConsoleApplication1.exe を作成します。
(12) ConsoleApplication1.exe が存在するフォルダ (\ConsoleApplication1\x64\Debug) に libmatrix.dll をコピー後、Visual Studio 画面の [ローカルWindowsデバッガー]を押下、またはコマンドプロンプトなどのコンソール画面から ConsoleApplication.exe を実行します。  
ご参考:

More Answers (0)

Categories

Find more on C++ 共有ライブラリの統合 in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!