必要な API ライブラリへのカスタム リンク
MathWorks® では、mex
コマンドを使用して MEX ファイルとエンジン アプリケーションをビルドするよう推奨しています。このビルド スクリプトは、アプリケーションで使用される MATLAB® API で必要なライブラリに自動的にリンクします。
mex
コマンドではなく統合開発環境 (IDE) を使用してこれらのアプリケーションをカスタム ビルドするには、以下に挙げる必要なランタイム ライブラリとインクルード ファイルのリストを参照してください。パス名を特定するには、これらの MATLAB コマンドを使用します。
matlabroot
を、matlabroot
で返される値に置き換える。compiler
をmicrosoft
またはmingw64
に置き換える。macos
は、maca64
(Apple シリコン搭載の macOS の場合) またはmaci64
(Intel® 搭載の macOS の場合) に置き換えます。インクルード ファイルへのパスは以下によって返される値になる。
fullfile(matlabroot,'extern','include')
C++ MEX 関数
C++ MEX 関数をビルドするには、C++ MEX APIおよびC++ 用の MATLAB データ APIを使用します。
インクルード ファイル:
mex.hpp
— C++ MEX API の定義mexAdapter.hpp
— C++ MEX 関数の演算子によって必要とされるユーティリティ
Windows® ライブラリ:
matlabroot
\extern\lib\win64\compiler
\libMatlabDataArray.lib
Linux® ライブラリ:
Linux—
matlabroot
/extern/bin/glnxa64/libMatlabDataArray.so
macOS ライブラリ:
macOS—
matlabroot
/extern/bin/macos
/libMatlabDataArray.dylib
C++ エンジン アプリケーション
C++ エンジン アプリケーションをビルドするには、C++ からの MATLAB の呼び出しおよびC++ 用の MATLAB データ APIを使用します。
インクルード ファイル:
MatlabEngine.hpp
— C++ エンジン API の定義MatlabDataArray.hpp
— C++ と MATLAB データとの間の汎用インターフェイスの定義
Windows ライブラリ:
エンジン ライブラリ —
matlabroot
\extern\lib\win64\compiler
\libMatlabEngine.libMATLAB データ配列ライブラリ —
matlabroot
\extern\lib\win64\compiler
\libMatlabDataArray.lib
Linux ライブラリ:
エンジン ライブラリ —
matlabroot
/extern/bin/glnxa64/libMatlabEngine.soMATLAB データ配列ライブラリ —
matlabroot
/extern/bin/glnxa64/libMatlabDataArray.so
macOS ライブラリ:
エンジン ライブラリ —
matlabroot
/extern/bin/macos
/libMatlabEngine.dylibMATLAB データ配列ライブラリ —
matlabroot
/extern/bin/macos
/libMatlabDataArray.dylib
C MEX 関数
C MEX 関数をビルドするには、C 行列 APIと、MATLAB (MEX ファイル) から呼び出せる C 関数の記述にリストされている C MEX API 関数を使用します。オプションとして、MEX 関数で MAT ファイルに対する読み取りまたは書き込みを行うには、MAT ファイル データを読み取る C プログラムの作成を使用します。
インクルード ファイル:
mex.h
— エントリ ポイントとインターフェイス ルーチンを宣言matrix.h
—mxArray
構造体の定義および行列アクセス ルーチンの関数プロトタイプmat
(オプション) —mat.h
ルーチンの関数プロトタイプ
Windows ライブラリ:
matlabroot
\extern\lib\win64\compiler
\libmex.libmatlabroot
\extern\lib\win64\compiler
\libmx.lib
(オプション)matlabroot
\extern\lib\win64\compiler
\libmat.lib
Linux ライブラリ:
matlabroot
/bin/glnxa64/libmex.somatlabroot
/bin/glnxa64/libmx.so
(オプション)matlabroot
/bin/glnxa64/libmat.so
macOS ライブラリ:
matlabroot
/bin/macos
/libmex.dylibmatlabroot
/bin/macos
/libmx.dylib
(オプション)matlabroot
/bin/macos
/libmat.dylib
C エンジン アプリケーション
C エンジン アプリケーションをビルドするには、C 行列 APIおよびC からの MATLAB の呼び出しを使用します。アプリケーションに mexPrintf
のような C MEX API 関数を含める場合は、libmex
ライブラリにリンクしなければなりません。関数の一覧は、MATLAB (MEX ファイル) から呼び出せる C 関数の記述を参照してください。オプションで、MAT ファイルの読み取りまたは書き込みをアプリケーションで行うには、MAT ファイル データを読み取る C プログラムの作成を使用します。
インクルード ファイル:
engine.h
— エンジン ルーチンの関数プロトタイプmatrix.h
—mxArray
構造体の定義および行列アクセス ルーチンの関数プロトタイプmat
(オプション) —mat.h
ルーチンの関数プロトタイプ
Windows ライブラリ:
エンジン ライブラリ —
matlabroot
\extern\lib\win64\compiler
\libeng.lib行列ライブラリ —
matlabroot
\extern\lib\win64\compiler
\libmx.libMEX ライブラリ (オプション) —
matlabroot
\extern\lib\win64\compiler
\libmex.libMAT ファイル ライブラリ (オプション) —
matlabroot
\extern\lib\win64\compiler
\libmat.lib
Linux ライブラリ:
エンジン ライブラリ —
matlabroot
/bin/glnxa64/libeng.so行列ライブラリ —
matlabroot
/bin/glnxa64/libmx.soMEX ライブラリ (オプション) —
matlabroot
/bin/glnxa64/libmex.soMAT ファイル ライブラリ (オプション) —
matlabroot
/bin/glnxa64/libmat.so
macOS ライブラリ:
エンジン ライブラリ —
matlabroot
/bin/macos
/libeng.dylib行列ライブラリ —
matlabroot
/bin/macos
/libmx.dylibMEX ライブラリ (オプション) —
matlabroot
/bin/macos
/libmex.dylibMAT ファイル ライブラリ (オプション) —
matlabroot
/bin/macos
/libmat.dylib
C MAT ファイル アプリケーション
C MAT ファイルからデータを読み取るスタンドアロン アプリケーションをビルドするには、C 行列 APIおよびMAT ファイル データを読み取る C プログラムの作成を使用します。アプリケーションに mexPrintf
のような C MEX API 関数を含める場合は、libmex
ライブラリにリンクしなければなりません。これらの関数の一覧は、MATLAB (MEX ファイル) から呼び出せる C 関数の記述を参照してください。
インクルード ファイル:
mat
—mat.h
ルーチンの関数プロトタイプmatrix.h
—mxArray
構造体の定義および行列アクセス ルーチンの関数プロトタイプ
Windows ライブラリ:
MAT ファイル ライブラリ —
matlabroot
\extern\lib\win64\compiler
\libmat.lib行列ライブラリ —
matlabroot
\extern\lib\win64\compiler
\libmx.libMEX ライブラリ (オプション) —
matlabroot
\extern\lib\win64\compiler
\libmex.lib
Linux ライブラリ:
MAT ファイル ライブラリ —
matlabroot
/bin/glnxa64/libmat.so行列ライブラリ —
matlabroot
/bin/glnxa64/libmx.soMEX ライブラリ (オプション) —
matlabroot
/extern/bin/glnxa64/libmex.so
macOS ライブラリ:
MAT ファイル ライブラリ —
matlabroot
/bin/macos
/libmat.dylib行列ライブラリ —
matlabroot
/bin/macos
/libmx.dylibMEX ライブラリ (オプション) —
matlabroot
/extern/bin/macos
/libmex.dylib