外部インタフェース/API    

Windowsでの作成のカスタマイズ

WindowsでのCとFortranのMEX-ファイルの作成には、コンパイル、プレリンク、リンクの3つのステージがあります。

コンパイルステージ

コンパイルステージでは、mexオプションファイルはつぎのことを行う必要があります。

プレリンクステージ

プレリンクステージは、MEX, MAT, エンジンファイルに要求された関数を読み込むためのインポートライブラリをダイナミックに作成します。すべてのMEX-ファイルは、MATLABのみをリンクします。MATスタンドアロンプログラムは、libmx.dll (配列のアクセスライブラリ) とlibmat.dll (MAT-ファンクション)をリンクします。エンジンスタンドアロンプログラムは、libmx.dll配列のアクセスライブラリ)とエンジンファンクションに対してlibeng.dllをリンクします。MATLABとDLLは、 <matlab>\extern\includeディレクトリにある同じ名前の対応する.defファイルをもちます。

リンクステージ

最後に、リンクステージでは、mexオプションファイルは以下のことを行う必要があります。

MEX-ファイルへのDLLのリンク

DLLをMEX-ファイルにリンクするには、コマンドラインでDLLの.libファイルをリストします。

MEX-ファイルのバージョン設定

mexスクリプトは、バージョン設定やその他の重要な情報を含むリソースファイルと共にユーザのMEX-ファイルを作成します。リソースファイルは、mexversion.rcという名前で、extern\includeディレクトリにあります。バージョン設定をサポートするために、リソースコンパイラとリンカコマンドを与える2つの新しいコマンドRC_COMPILERRC_LINKERがオプションファイルにあります。つぎのように考えられます。

Microsoft Visual C++ IDEを使ったMEX-ファイルのコンパイル

Microsoft Visual C++ 統合開発環境を使ってMEX-ファイルを作成するためには、つぎのようにします。

  1. プロジェクトを作成し、そこにMEXのソースとmexversion.rcを挿入します。
  2. MEXのエントリポイントをエクスポートするために、.DEFファイルを作成します。たとえば、
  3. プロジェクトに.DEFファイルを追加します。
  4. 利用するコンパイラのバージョンに対応する.LIBファイルは、matlabroot\extern\lib\win32\microsoftにあります。たとえば、version 6.0に対しては、これらのファイルは、msvc60サブディレクトリにあります。
  5. このディレクトリから、LINK設定オプションでlibmx.lib, libmex.lib, libmat.libをライブラリモジュールに追加します。
  6. MATLABのincludeディレクトリMATLAB\EXTERN\INCLUDESettings C/C++ Preprocessorオプションのincludeパスに追加します。
  7. ビルドメニューからSettingsを選択し、C/C++を選択し、Preprocessor definitionsフィールドの最後の要素の後にMATLAB_MEX_FILEをタイプすることによりMATLAB_MEX_FILEC/C++ Preprocessorオプションに追加します。
  8. IDEを使ってMEX-ファイルをデバッグするには、MATLAB.EXESettings DebugオプションにExecutable for debug sessionとしておきます。

Microsoft Visual C/C++コンパイラ以外のコンパイラを利用している場合は、MEX-ファイルのビルドプロセスは、上述したものと同じです。ステップ4では、利用するコンパイラ用の.LIBファイルは matlabroot\extern\lib\win32のサブディレクトリにあります。たとえば、Borland C/C++ compilerのversion 5.4については、matlabroot\extern\lib\win32\borland\bc54を見てください。

Visual Studio用アドインの使用法

The MathWorksは、Microsoft Visual C/C++ (MSVC)内で簡単に利用できる Visual Studio®開発システム用のMATLABアドインを提供します。Visual Studio用MATLABアドインは、MSVC環境でのM-ファイルの利用を大きく簡略化します。アドインは、M-ファイルとVisual C++ プロジェクトとの統合を自動化します。MSVC環境と完全に統合されています。

Visual Studio用アドインは、mbuild -setupあるいはmex -setupを実行し、Microsoft Visual C/C++ version 5 または6を選択したときに自動的にシステムにインストールされます。しかし、アドインを利用するために以下のステップを行う必要があります。

  1. Visual Studio用アドインを使ってMEX-ファイルを作成するには、MATLABコマンドプロンプトで以下のコマンドを実行してください。

    メニューに従い、Microsoft Visual C/C++ 5.0または6.0を選択します。これにより、選択されたMicrosoft compilerを利用するmexを作成し、Microsoft Visual C/C++ディレクトリに必要なアドインファイルをインストールします。

  1. Microsoft Visual C/C++と動作するVisual Studio用MATLABアドインを設定するには、以下のようにします。
    1. MSVCメニューからTools -> Customizeを選択します。
    2. Add-ins and Macro Filesタブをクリックします。
    3. Browseをクリックし、ファイル名として<matlab>\bin\win32を入力し、Files of TypeプルダウンリストからAdd-ins (.dll)を選択します。

    1. MATLABAddin.dllファイルを選択し、Openをクリックします。
    2. Add-ins and Macro Files リストのMATLAB for Visual Studioをチェックし、Closeをクリックします。Visual StudioツールバーにMATLABアドインが現れます。チェックマークは、MSVCの起動時にアドインを自動的にロードすることを示します。

Visual Studio用MATLABアドインに関する情報は、以下を参照してください。


 UNIXでの作成のカスタマイズ トラブルシューティング