MinGW-w64 компилятор

Можно использовать компилятор MinGW-w64 для создания файлов MEX, MATLAB® интерфейс с библиотекой C++, автономным движком MATLAB и приложениями MAT-файлов. Для получения дополнительной информации см. раздел «Поддержка MATLAB для компилятора MinGW-w64 C/C + +».

Установка MinGW-w64 компилятор

Для установки компилятора используйте меню Add-Ons.

  • На вкладке Home MATLAB, в разделе Environment, нажмите Add-Ons > Get Add-Ons.

  • Поиск MinGW или выбор из Features.

Создание yprime.c Пример

Можно протестировать MinGW® компилятор путем создания yprime.c пример. Скопируйте исходный файл в папку с возможностью записи.

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

Если в системе установлен только компилятор MinGW, mex команда автоматически выбирает MinGW. Переходите к следующему шагу. Однако, если у вас есть несколько компиляторов C или C++, используйте mex -setup для выбора MinGW.

mex -setup

Создайте файл MEX.

mex yprime.c

MATLAB отображает сообщение «Building with», показывающее, какой компилятор использовался для создания файла MEX.

Запустите функцию.

yprime(1,1:4)

Для получения дополнительной информации смотрите Поиск и устранение проблем и ограничений при компиляции файлов C/C + + MEX с MinGW-w64.

Папка установки MinGW не может содержать пространство

Не устанавливайте MinGW в месте с пространствами в имени пути. Для примера не используйте:

C:\Program Files\mingw-64

Вместо этого используйте:

C:\mingw-64

Обновление файлов MEX для использования компилятора MinGW

Если у вас есть исходные файлы MEX, созданные с другим поддерживаемым MATLAB компилятором, вам, возможно, потребуется изменить код для сборки с помощью компилятора MinGW. Для примера:

  • Библиотека (.lib) файлы, сгенерированные Microsoft® Визуальная студия® несовместимы с MinGW.

  • Очистка объекта невозможна, когда выдается исключение с помощью mexErrMsgIdAndTxt функция из файлов MEX на C++, что приводит к утечке памяти.

  • Неотключенное исключение в файлах C++ MEX, скомпилированных с помощью MinGW, приводит к аварийному завершению работы MATLAB.

  • Файлы MEX с переменными, содержащими большие объемы данных, не могут быть скомпилированы, так как у компилятора заканчивается память.

Похожие темы

Внешние веб-сайты