C++ MEX プログラムのビルド
MATLAB® mex を使用して C++ MEX アプリケーションをビルドし、環境を設定して C++ ソース コードをコンパイルします。
サポートされるコンパイラ
C++11 をサポートするコンパイラを使用します。サポートされているコンパイラの最新の一覧については、サポートされるコンパイラ Web サイトを参照してください。
mex コマンドによる .cpp ファイルのビルド
サポートされるコンパイラのいずれかがインストールされている場合、mex コマンドを使用して C++ MEX アプリケーション用のコンパイラをセットアップします。コンパイラを選択するオプションが提供される場合、インストールされている MATLAB C++ MEX がサポートするコンパイラを選択します。
mex -setup C++
MATLAB mex コマンドを使用して、C++ MEX プログラムをビルドします。
mex MyMEXCode.cpp MEX インクルード ファイル
C++ ソース コードに次のヘッダー ファイルをインクルードします。ヘッダー ファイルには、関数宣言と、API ライブラリでアクセスするルーチンのプロトタイプが含まれています。これらのファイルは フォルダーに存在し、Windows®、Mac、および Linux® の各システムで共通です。C++ MEX ファイルは次のヘッダー ファイルを使用します。matlabroot/extern/include
mex.hpp— C++ MEX API の定義mexAdapter.hpp— C++ MEX 関数の演算子によって必要とされるユーティリティ
メモ
複数のファイルにわたる MEX アプリケーションの MexFunction 定義では、mexAdapter.hpp を 1 回だけインクルードしてください。
ファイル拡張子
MEX ファイルはプラットフォーム固有です。MATLAB は、次のプラットフォーム固有のファイル拡張子によって MEX ファイルを識別します。
MEX ファイルのプラットフォーム依存の拡張子
| プラットフォーム | バイナリ MEX ファイルの拡張子 |
|---|---|
Windows |
|
Linux |
|
Apple シリコン搭載の macOS |
|
Intel® 搭載の macOS |
|
メモ
Intel を搭載した macOS でビルドされた MEX ファイルは、Rosetta 2 を使用する Apple シリコン プラットフォームではサポートされていません。
参考
mex | matlab::engine::MATLABEngine