Можно использовать Редактор MATLAB®, чтобы записать код приложения механизма и mex
команда, чтобы создать его. Если вы предпочитаете использовать интегрированную среду разработки (IDE), такую как Microsoft® Visual Studio® или XCode, чтобы записать ваш исходный код, можно все еще использовать mex
команда. Однако, чтобы создать ваше приложение с вашим IDE, следуйте инструкциям в следующих темах.
Чтобы использовать вашу интегрированную среду разработки, чтобы создать приложения механизма, вашему IDE нужен поддерживаемый MATLAB компилятор. Для актуального списка поддерживаемых компиляторов см. Поддерживаемые и Совместимые Компиляторы.
Приложения Engine требуют Библиотеки Engine libeng, матричная библиотека
libmx
, и поддержка включает файлы. Когда вы создаете использование mex
команда, MATLAB сконфигурирован, чтобы определить местоположение этих файлов. Когда вы создаете в своем IDE, необходимо сконфигурировать IDE, чтобы определить местоположение их. То, где эти настройки, зависит от вашего IDE. Обратитесь к своей документации по продукту.
Заголовочные файлы содержат объявления функции с прототипами для стандартных программ, к которым вы получаете доступ в библиотеках API. Эти файлы находятся в
папка и является тем же самым для Windows®, macOS, и системами Linux®. Использование приложений Engine:matlabroot
\extern\include
engine.h
— Прототипы функции для стандартных программ механизма
matrix.h
— Определение mxArray
структура и прототипы функции для матричных стандартных программ доступа
mat.h
(дополнительный) — Прототипы функции для mat
стандартные программы
В вашем IDE, набор препроцессор включают путь к значению, возвращенному следующей командой MATLAB:
fullfile(matlabroot,'extern','include')
Вам нужен libeng
и libmx
разделяемые библиотеки. Имя файла специфично для платформы. Добавьте эти имена библиотеки к своей настройке IDE. Обратитесь к своей документации по продукту IDE для инструкций.
В этих технических требованиях пути замените compiler
с любым microsoft
или mingw64
.
Библиотека Engine — matlabroot
\extern\lib\win64\compiler
\libeng.lib
Матричная библиотека — matlabroot
\extern\lib\win64\compiler
\libmx.lib
(Дополнительная) библиотека MEX — matlabroot
\extern\lib\win64\compiler
\libmex.lib
(Дополнительная) библиотека MAT-File — matlabroot
\extern\lib\win64\compiler
\libmat.lib
Библиотека Engine — matlabroot
/bin/glnxa64/libeng.so
Матричная библиотека — matlabroot
/bin/glnxa64/libmx.so
(Дополнительная) библиотека MEX — matlabroot
/bin/glnxa64/libmex.so
(Дополнительная) библиотека MAT-File — matlabroot
/bin/glnxa64/libmat.so
Библиотека Engine — matlabroot
/bin/maci64/libeng.dylib
Матричная библиотека — matlabroot
/bin/maci64/libmx.dylib
(Дополнительная) библиотека MEX — matlabroot
/bin/maci64/libmex.dylib
(Дополнительная) библиотека MAT-File — matlabroot
/bin/maci64/libmat.dylib
Файлы библиотеки, Необходимые libeng
libeng
библиотека требует дополнительных сторонних файлов библиотеки. MATLAB пользуется этими библиотеками, чтобы поддержать кодировку символов Unicode® и сжатие данных в MAT-файлах.
Эти файлы библиотеки должны находиться в той же папке как libmx
библиотека. Можно определить то, что эти библиотеки используют специфичные для платформы команды, показанные в следующей таблице. Если вы идентифицируете эти файлы, обновляете ваш IDE.
Команды библиотечной зависимости
Windows | Linux | macOS |
---|---|---|
См. следующие инструкции для Зависимости Уокер | ldd -d libeng.so | otool -L libeng.dylib |
Чтобы найти библиотечные зависимости в системах Windows, используйте Зависимость от стороннего продукта Уокер. Эта свободная утилита сканирует модули Windows и создает иерархическую древовидную схему всех зависимых модулей. Для каждого найденного модуля это перечисляет все функции, экспортируемые тем модулем, и какая из тех функций вызвана другими модулями. Смотрите, Как я определяю, каких библиотек мой файл MEX или автономное приложение требуют? для получения информации об использовании Зависимости Уокер.
Перетащите мышью libeng.dll
файл в окно Depends. Идентифицируйте зависимые библиотеки и добавьте их в свою настройку IDE.