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

8 views (last 30 days)
MATLAB Compiler SDKドキュメントの
> MATLAB Compiler SDK 入門(Getting Started)
   > チュートリアル
     > C/C++ 共有ライブラリ
       > Create a C/C++ Application with MATLAB Code
の手順を参考にしてC++共有ライブラリのDLL(addmatrix.dll)を作成することはできました。
しかし、\n
> Integrate a C/C++ Shared Library into an Application
では、DLLをコールするC++ドライバーアプリケーションのソースコード(.cppファイル)をMATLABのコマンド mbuild でコンパイルしています。
mbuild コマンドではなく、Visual Studio のプロジェクトを使用する場合の手順を教えてください。
 

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 8 Dec 2020
Edited: MathWorks Support Team on 8 Dec 2020
概要:
・C++共有ライブラリはヘルプで紹介されている ”addmatrix.dll” を使用しています。
・C++アプリケーションのソースコードもヘルプで紹介されているサンプル(matrix_generic.cppなど)をそのまま使用しています。
R2019a より C++ アプリケーションのサンプルのソースコード (.cpp) がライブラリコンパイラでのパッケージ時に作成できるようになっております。このため R20219a 以降のヘルプでは C++ アプリケーションのソースコードは掲載されておりません。ヘルプでは作成方法が記載されております。
・ここではVisual Studio 2015を使用しています。ほかのバージョンの設定項目等はマイクロソフト社の情報をご参考いただけますようお願いいたします。
手順:
(1) Visual Studio 2015 を起動し、[ファイル] メニュー > [新規作成] > [プロジェクト] を選択します。
(2) [テンプレート] から “Win32 コンソールアプリケーション” を選択します。 [プロジェクト名] は任意で付けますが、ここでは “ConsoleApplication1” のままとします。[OK] ボタンを押下します。
(3) [Win32 アプリケーションウィザード] が開きます。[Win32 アプリケーション ウィザード] の次に表示される [アプリケーションの設定] で [コンソールアプリケーション] および [空のプロジェクト] にチェックを入れてから、[完了] ボタンを押下します。
(4) [プロジェクト] メニュー > [既存項目の追加] でC++ソースファイル(matrix_generic.cppなど) を選択して [開く] ボタンを押下します。C++ソースファイルがConsoleApplication1プロジェクトに追加されます。
(5) ソリューションエクスプローラーにて [ConsoleApplication1] プロジェクトを右クリックし [プロパティ] を選択します。プロパティページが表示されます。
(6) 作成するアプリケーションが64-bit版の場合、[プラットフォーム] を “x64” にします。
(7) [構成プロパティ] > [C/C++] > [全般] > [追加のインクルードディレクトリ] を選択し、「...」ボタンをクリックします。「追加のインクルードディレクトリ」ウィンドウに以下の2つのパスを追加します。
・作成したDLLファイルのヘッダファイル(addmatrix.h) が存在するフォルダパス
・<MATLAB Compiler Runtime(MCR)のインストールフォルダ>\extern\include
(8) [構成プロパティ] > [C/C++] > [コード生成] > [ランタイムライブラリ] を ”マルチスレッドDLL (/MD)” に設定します。
(9) [構成プロパティ] > [リンカ] > [全般] > [追加のライブラリディレクトリ] を選択し、「...」ボタンをクリックします。[追加のライブラリディレクトリ] ウィンドウにて以下の2つのパスを追加します。
・作成したDLLファイルのライブラリ(addmatrix.lib) が存在するフォルダパス
・mclmcrrt.lib が存在するフォルダパス(<MCRのインストールフォルダ>¥extern¥lib¥win64¥microsoft)
(10) [構成プロパティ] > [リンカ] > [入力] > [追加の依存ファイル] を選択し、「...」ボタンをクリックします。「追加の依存ファイル」ウィンドウが表示されたら、以下の2つの.libファイルを追加します。
・addmatrix.lib
・mclmcrrt.lib
(11) [ビルド] メニュー > [ソリューションのビルド] を押し、ConsoleApplication1.exe を作成します。
(12) ConsoleApplication1.exe が存在するフォルダにaddmatrix.dllをコピー後、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!