Contenu principal

MinGW-w64 Compiler

Vous pouvez utiliser le MinGW-w64 Compiler pour construire des fichiers MEX, une interface MATLAB® vers une bibliothèque C++ et des applications de fichiers MAT et Engine MATLAB Fortran ou C/C++ autonomes. Pour plus d’informations, consultez « MATLAB Support for MinGW-w64 C/C++/Fortran Compiler ».

Installer le MinGW-w64 Compiler

Pour installer le compilateur, utilisez le menu Add-Ons.

  • Accédez à l’onglet MATLABHome et dans la section Environment, cliquez sur Add-Ons > Get Add-Ons.

  • Recherchez MinGW ou sélectionnez-le à partir de Features.

Construire l’exemple yprime.c

Vous pouvez tester le MinGW® Compiler en construisant l’exemple yprime.c. Copiez le fichier source dans un dossier accessible en écriture.

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

Si vous n’avez que le MinGW Compiler installé sur votre système, la commande mex choisit automatiquement MinGW. Passez à l’étape suivante. Cependant, si vous avez plusieurs compilateurs C ou C++, utilisez mex -setup pour choisir MinGW.

mex -setup

Construisez le fichier MEX.

mex yprime.c

MATLAB affiche un message « Building with » pour montrer quel compilateur a été utilisé pour construire le fichier MEX.

Exécutez la fonction.

yprime(1,1:4)

Pour plus d’informations, consultez Troubleshooting and Limitations Compiling C/C++ MEX Files with MinGW-w64.

Le dossier d’installation MinGW ne peut pas contenir d’espace

N’installez pas MinGW à un emplacement ayant des espaces dans le nom de chemin. Par exemple, n’utilisez pas :

C:\Program Files\mingw-64

Utilisez plutôt :

C:\mingw-64

Mettre à jour des fichiers MEX pour utiliser le MinGW Compiler

Si vous avez des fichiers sources MEX construits avec un compilateur différent que MATLAB supporte, vous devrez peut-être modifier le code pour construire avec le MinGW Compiler. Par exemple :

  • Les fichiers de bibliothèque (.lib) générés par Microsoft®Visual Studio® ne sont pas compatibles avec MinGW.

  • Le nettoyage des objets n’est pas possible quand une exception est provoquée en utilisant la fonction mexErrMsgIdAndTxt à partir des fichiers MEX C++, ce qui produit une fuite de mémoire.

  • Une exception non interceptée dans des fichiers MEX C++ compilés avec MinGW entraîne une panne MATLAB.

  • Les fichiers MEX avec des variables contenant de grandes quantités de données ne peuvent pas être compilés, puisque le compilateur n’a plus de mémoire.

Voir aussi

Rubriques