C++ エンジン プログラムのビルド要件
サポートされるコンパイラ
C++11 をサポートするコンパイラを使用します。サポートされているコンパイラの最新の一覧については、サポートされるコンパイラを参照してください。
mex
コマンドを使用したビルド
MATLAB® エディターを使用して、エンジン アプリケーションのコードを記述し、それをビルドする mex
コマンドを実行することができます。C++ エンジン アプリケーション用のコンパイラを設定するには、次のように入力します。
mex -setup -client engine C++
C++ エンジン プログラム MyEngineCode.cpp
をビルドするには、次のように入力します。
mex -client engine MyEngineCode.cpp
設定をテストするには、C++ ビルド環境のテストを参照してください。
IDE を使用したビルド
Microsoft® Visual Studio® または Xcode のような統合開発環境 (IDE) を使用してソース コードを記述するには、次のライブラリとインクルード ファイルを使用して C++ エンジン アプリケーションをビルドするための環境を設定します。エンジン アプリケーションには、エンジン ライブラリ libMatlabEngine
、MATLAB データ配列ライブラリ libMatlabDataArray
およびサポートしているインクルード ファイルが必要になります。
以下のパス指定では、
を MATLAB matlabroot
matlabroot
コマンドで返されたパスに置き換えます。
Windows ライブラリ
以下のパス指定では、compiler
を microsoft
または mingw64
に置き換えます。
エンジン ライブラリ —
matlabroot
\extern\lib\win64\compiler
\libMatlabEngine.libMATLAB データ配列ライブラリ —
matlabroot
\extern\lib\win64\compiler
\libMatlabDataArray.lib
macOS ライブラリ
macos
は、maca64
(Apple シリコン搭載の macOS の場合) または maci64
(Intel® 搭載の macOS の場合) に置き換えます。
エンジン ライブラリ —
matlabroot
/extern/bin/macos
/libMatlabEngine.dylibMATLAB データ配列ライブラリ —
matlabroot
/extern/bin/macos
/libMatlabDataArray.dylib
Linux ライブラリ
エンジン ライブラリ —
matlabroot
/extern/bin/glnxa64/libMatlabEngine.soMATLAB データ配列ライブラリ —
matlabroot
/extern/bin/glnxa64/libMatlabDataArray.so
追加ライブラリ — pthread
たとえば、myEngineApp.cpp のビルドにはこれらのライブラリを使用します。
を MATLAB matlabroot
matlabroot
コマンドで返されたパスに置き換えます。
g++ -std=c++11 -I matlabroot/extern/include/ -L matlabroot/extern/bin/glnxa64/ -pthread myEngineApp.cpp -lMatlabDataArray -lMatlabEngine
エンジン インクルード ファイル
ヘッダー ファイルには、関数宣言と、API ライブラリでアクセスするルーチンのプロトタイプが含まれています。これらのファイルは
フォルダーに存在し、Windows®、macOS、および Linux® の各システムで共通です。エンジン アプリケーションは以下のファイルを使用します。matlabroot
/extern/include
MatlabEngine.hpp
— C++ エンジン API の定義MatlabDataArray.hpp
— C++ と MATLAB データとの間の汎用インターフェイスの定義
MATLAB データ配列は、外部データと MATLAB との間の汎用インターフェイスを提供するクラスと API のコレクションです。
ランタイム環境
アプリケーションを実行するには、以下の環境変数のいずれかを、指定されているパスに設定します。
オペレーティング システム | 変数 | パス |
---|---|---|
Windows |
|
|
Apple シリコン搭載の macOS |
|
|
Intel 搭載の macOS |
|
|
Linux |
|
|
参考
mex
| matlab::engine::MATLABEngine