Main Content

MinGW -w64 コンパイラ

MinGW-w64 コンパイラを使用して、MEX ファイル、C++ ライブラリに対する MATLAB® インターフェイス、スタンドアロンの MATLAB エンジンおよび MAT ファイル アプリケーションをビルドできます。詳細については、"MATLAB Support for MinGW-w64 C/C++ Compiler" を参照してください。

MinGW-w64 コンパイラのインストール

コンパイラをインストールするには、[アドオン] メニューを使用します。

  • MATLAB [ホーム] タブの [環境] セクションで、[アドオン]、[アドオンの入手] をクリックします。

  • MinGW を検索するか、[機能] から選択します。

yprime.c の例のビルド

yprime.c の例をビルドすることで、MinGW® コンパイラをテストできます。ソース ファイルを書き込み可能なフォルダーにコピーします。

copyfile(fullfile(matlabroot,'extern','examples','mex','yprime.c'),'.','f')

MinGW コンパイラのみがシステムにインストールされている場合は、mex コマンドによって MinGW が自動的に選択されます。次の手順に進んでください。しかし、複数の C または C++ コンパイラがある場合は、mex -setup を使用して MinGW を選択します。

mex -setup

MEX ファイルをビルドします。

mex yprime.c

MATLAB は、MEX ファイルのビルドにどのコンパイラが使用されたかを示す、"~ でビルドしています" のメッセージを表示します。

関数を実行します。

yprime(1,1:4)

詳細は、C/C++ MEX ファイルを MinGW -w64 でコンパイルする際のトラブルシューティングと制限を参照してください。

MinGW インストール フォルダーにスペースを含めない

MinGW は、パス名にスペースを含む場所にはインストールしないでください。たとえば、次は使用しないでください。

C:\Program Files\mingw-64

代わりに次を使用してください。

C:\mingw-64

MinGW コンパイラを使用するために MEX ファイルを更新

MATLAB でサポートされる別のコンパイラでビルドされた MEX ソース ファイルがある場合、MinGW コンパイラでビルドするためにはコードの変更が必要になることがあります。以下に例を示します。

  • Microsoft® Visual Studio® で生成されたライブラリ (.lib) ファイルは、MinGW と互換性がありません。

  • 関数 mexErrMsgIdAndTxt を C++ MEX ファイルから使用して例外がスローされ、メモリ リークが発生した場合、オブジェクトのクリーンアップはできません。

  • MinGW でコンパイルされた C++ MEX ファイルにキャッチされていない例外が存在すると、MATLAB がクラッシュする原因となります。

  • 大量のデータを含む変数をもつ MEX ファイルは、コンパイラがメモリ不足となるため、コンパイルできません。

関連するトピック