Main Content

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 およびサポートしているインクルード ファイルが必要になります。

以下のパス指定では、matlabroot を MATLAB matlabroot コマンドで返されたパスに置き換えます。

Windows ライブラリ

以下のパス指定では、compilermicrosoft または mingw64 に置き換えます。

  • エンジン ライブラリ — matlabroot\extern\lib\win64\compiler\libMatlabEngine.lib

  • MATLAB データ配列ライブラリ — matlabroot\extern\lib\win64\compiler\libMatlabDataArray.lib

macOS ライブラリ

macos は、maca64 (Apple シリコン搭載の macOS の場合) または maci64 (Intel® 搭載の macOS の場合) に置き換えます。

  • エンジン ライブラリ — matlabroot/extern/bin/macos/libMatlabEngine.dylib

  • MATLAB データ配列ライブラリ — matlabroot/extern/bin/macos/libMatlabDataArray.dylib

Linux ライブラリ

  • エンジン ライブラリ — matlabroot/extern/bin/glnxa64/libMatlabEngine.so

  • MATLAB データ配列ライブラリ — matlabroot/extern/bin/glnxa64/libMatlabDataArray.so

追加ライブラリ — pthread

たとえば、myEngineApp.cpp のビルドにはこれらのライブラリを使用します。matlabroot を MATLAB matlabroot コマンドで返されたパスに置き換えます。

g++ -std=c++11 -I matlabroot/extern/include/ -L matlabroot/extern/bin/glnxa64/ 
    -pthread myEngineApp.cpp -lMatlabDataArray -lMatlabEngine

エンジン インクルード ファイル

ヘッダー ファイルには、関数宣言と、API ライブラリでアクセスするルーチンのプロトタイプが含まれています。これらのファイルは matlabroot/extern/include フォルダーに存在し、Windows®macOS、および Linux® の各システムで共通です。エンジン アプリケーションは以下のファイルを使用します。

  • MatlabEngine.hpp — C++ エンジン API の定義

  • MatlabDataArray.hpp — C++ と MATLAB データとの間の汎用インターフェイスの定義

MATLAB データ配列は、外部データと MATLAB との間の汎用インターフェイスを提供するクラスと API のコレクションです。

ランタイム環境

アプリケーションを実行するには、以下の環境変数のいずれかを、指定されているパスに設定します。

オペレーティング システム変数パス

Windows

PATH

matlabroot\extern\bin\win64

Apple シリコン搭載の macOS

DYLD_LIBRARY_PATH

matlabroot/extern/bin/maca64

Intel 搭載の macOS

DYLD_LIBRARY_PATH

matlabroot/extern/bin/maci64

Linux

LD_LIBRARY_PATH

matlabroot/extern/bin/glnxa64:matlabroot/sys/os/glnxa64

参考

|

関連するトピック