Сбои тестирования
После успешной компиляции приложения необходимо протестировать его на компьютере разработки и развернуть на целевом компьютере. Как правило, целевая машина не имеет установки MATLAB ® и требует установки среды выполнения MATLAB. Дистрибутив включает все файлы, необходимые для запуска приложения, включая исполняемый файл, развертываемый архив и среду выполнения MATLAB.
Протестируйте приложение на компьютере разработки, запустив приложение в среде выполнения MATLAB, поставляемой с MATLAB Compiler™. Это позволит проверить правильность библиотечных зависимостей, возможность извлечения развертываемого архива и включение в архив всех файлов MATLAB, MEX и файлов поддержки, требуемых приложением. При возникновении ошибок при тестировании приложения следующие вопросы могут помочь вам устранить проблему.
Можно ли выполнить приложение из MATLAB?
На компьютере разработки можно протестировать выполнение приложения, выдав !application-name по запросу MATLAB. Если приложение выполняется в MATLAB, но не извне, это может указывать на проблему с системой. PATH переменная.
Начинает ли приложение выполнение и приводит ли оно к MATLAB или другим ошибкам?
Убедитесь, что при компиляции приложения были включены все необходимые файлы (см. readme.txt файл, созданный при компиляции, для получения более подробной информации).
Функции, вызываемые из основного файла MATLAB, автоматически включаются компилятором MATLAB; однако функции, которые явно не вызываются, например, через EVAL, должны быть включены при компиляции с использованием -a переключатель mcc команда. Кроме того, любые файлы поддержки, такие как .mat, .txt, или .html файлы необходимо добавить в архив с помощью -a переключатель. Возможности MATLAB и связанных с ним панелей инструментов, которые могут быть скомпилированы, ограничены. Проверьте документацию, чтобы убедиться в правильности функций, используемых в файлах MATLAB приложения. Проверьте файл mccExcludedFiles.log на машине разработки. В этом файле перечислены все функции, вызываемые из приложения, которые невозможно скомпилировать.
Установлено ли несколько версий MATLAB?
Исполняемые файлы, создаваемые компилятором MATLAB, предназначены для работы в среде, в которой установлено несколько версий MATLAB. Некоторые старые версии MATLAB могут быть не полностью совместимы с этой архитектурой.
В Windows ® убедитесь, что matlabroot\runtime\win64 версии MATLAB, в которой выполняется компиляция, появляется перед matlabroot\runtime\win64 других версий MATLAB, установленных на PATH переменная среды на компьютере.
Аналогично, в UNIX убедитесь, что динамические пути библиотеки (LD_LIBRARY_PATH в Linux ®) соответствует. Для этого сравните выходные данные !printenv по запросу MATLAB и printenv в командной строке. Использование этого пути позволяет использовать mcc из командной строки операционной системы.
Если вы тестируете автономный исполняемый файл или общую библиотеку и приложение драйвера, вы установили среду выполнения MATLAB?
Все общие библиотеки, необходимые для автономного исполняемого файла или общей библиотеки, содержатся в среде выполнения MATLAB. Установка среды выполнения MATLAB необходима для любого конечного объекта развертывания.
Вы получили сообщение об ошибке об отсутствующей библиотеке DLL?
Сообщения об ошибках, указывающие на отсутствие DLL, например mclmcrrt7x.dll или mclmcrrt7x.so обычно вызваны неправильной установкой среды выполнения MATLAB. Также возможно, что среда выполнения MATLAB установлена правильно, но PATH, LD_LIBRARY_PATH, или DYLD_LIBRARY_PATH переменные установлены неправильно. Сведения об установке среды выполнения MATLAB на компьютере развертывания см. в разделе Установка и настройка среды выполнения MATLAB.
Внимание
Не решайте эти проблемы путем перемещения библиотек или других файлов в структуре папок среды выполнения MATLAB. Система предназначена для размещения различных версий MATLAB Runtime, работающих на одной машине. Структура папок является важной частью этой функции.
Поддерживает ли графическая карта системы графическое приложение?
В ситуациях, когда существующая аппаратная видеокарта не поддерживает графическое приложение, следует использовать программное обеспечение OpenGL. Библиотеки OpenGL отображаются для приложения путем добавления matlab/sys/opengl/lib/arch в LD_LIBRARY_PATH. Например:
setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:matlab/sys/opengl/lib/arch
Для проблем с графикой MATLAB в Linux задайте переменную среды LD_LIBRARY_PATH кому:
setenv LD_LIBRARY_PATH $MATLAB/sys/opengl/lib/glnxa64:$LD_LIBRARY_PATH
Правильно ли установлена OpenGL в системе?
При поиске библиотек OpenGL среда выполнения MATLAB сначала ищет путь к системной библиотеке. Если OpenGL там не найден, он будет использовать LD_LIBRARY_PATH для поиска библиотек. Если возникают сбои из-за того, что библиотеки OpenGL не найдены, можно добавить расположение библиотек OpenGL в LD_LIBRARY_PATH переменная среды. Например:
setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:matlab/sys/opengl/lib/arch