MATLABは環境変数「MW_MINGW64_LOC」を読み取ることでMinGWコンパイラを検出します。以下の手順に従って、この環境変数を手動で設定してください。
注意: 以下の手順を実行する前に、現在のMATLABバージョンに対する「MATLAB Support for MinGW-w64 C/C++/Fortran Compiler」サポートパッケージがインストールされている場合は、それをアンインストールする必要があります。詳細は「サポートパッケージのアンインストール」を参照してください。
ステップ1: インストールされているMinGWのバージョンを確認
以下の手順を進める前に、MATLABのバージョンに応じた適切なバージョンのMinGW-w64がインストールされていることを確認してください。
- R2023a以降の場合: MinGW-w64 バージョン 8.1
- R2018b以降の場合: MinGW-w64 バージョン 6.3
- R2017bからR2018aの場合: MinGW-w64 バージョン 5.3
- R2015bからR2017aの場合: MinGW-w64 バージョン 4.9.2
MinGWのバージョンを確認するには、Windowsのコマンドプロンプトを開き、MinGWのbinディレクトリに移動してから「gcc --version」を実行します。
> cd C:\path\to\mingw\bin
> gcc --version
gcc (x86_64-posix-seh-rev2, Built by MinGW-W64 project) 6.3.0
この場合、MinGWのバージョンは6.3.0です。
ステップ2: MW_MINGW64_LOC環境変数の設定
MW_MINGW64_LOC環境変数を設定する方法は3つあります。オプションAとBは管理者権限が必要ですが、オプションCは管理者権限がないユーザー向けです。
オプションA: 'configuremingw'関数を使用する(MATLAB R2017b以降のみ対応)
- 管理者権限でMATLABを起動してください。
- 添付のMATLAB関数 'configuremingw' をダウンロードします(回答の上部にあります)。
- MATLABコマンドウィンドウで以下のコマンドを実行します。>> configuremingw
- その後、MinGWのインストールディレクトリに移動してください。
オプションB: Windows 10/11で"MW_MINGW64_LOC"をシステム環境変数として設定する
- 管理者権限があることを確認してください。
- Windowsの検索で「システム環境変数の編集」と入力します。
- 「環境変数...」をクリックします。
- システム変数の下で「新規...」を選択します。
- 新しいシステム変数ダイアログボックスで、変数名フィールドに MW_MINGW64_LOC と入力します。
- 変数値フィールドにMinGW-w64コンパイラのインストール場所を入力します(例: C:\mingw64 または C:\TDM-GCC-64)。
- ダイアログボックスを「OK」で閉じ、コントロールパネルのダイアログボックスも閉じてください。
オプションC: MATLABを使用して"MW_MINGW64_LOC"を一時的な環境変数として設定する
管理者権限がない場合、MATLABコマンドウィンドウで以下を実行してください:
>> setenv('MW_MINGW64_LOC', 'folder')
ここで、'folder' はMinGWのインストールディレクトリです(例: 'C:\mingw64'。このパスにはスペースを含めないでください)。このコマンドは、MATLABを起動するたびに実行する必要があります。これを自動化するには、上記のコマンドをstartup.mファイルに追加します。これにより、MATLABが起動するたびにコマンドが実行されます。詳細はこちらを参照してください。
ステップ3: 既存のMinGWインストールがMATLABに認識されていることを確認
上記の手順を実行した後、以下のコマンドを実行してコンパイラがMATLABに認識されているか確認します:
>> mex -setup -v
これにより、MATLABが検出した"MW_MINGW64_LOC"環境変数の設定内容を確認できます。
注意: キャッシュの制限により、このコマンドを実行した後に「MinGW64コンパイラ」を選択するオプションが表示される場合、実行されるコマンドが誤って表示されることがあります。実際には、このオプションをクリックすると、"MW_MINGW64_LOC"環境変数によって指定されたMinGWのバージョンが使用されます。