Недопустимые ошибки файла MEX

Если MATLAB® не удается найти все .dll файлы, на которые ссылается файл MEX, не могут загрузить файл MEX. MATLAB выводит следующее сообщение об ошибке:

Invalid MEX-file mexfilename:
The specified module could not be found.

где mexfilename - модуль с ошибкой зависимостей. Этот модуль не может найти зависимые библиотеки. Чтобы устранить эту ошибку, найдите имена зависимых библиотек и определите, присутствуют ли они в вашей системе и системном пути. Чтобы найти библиотечные зависимости:

  • В Windows® системы, загрузите утилиту Dependency Walker с веб-сайта https://www.dependencywalker.com.

  • На Linux® системы, использование:

    ldd -d libname.so
  • В системах macOS используйте:

    otool -L libname.dylib

Для .dll файлы, с которыми связался файл MEX при построении, .dll файлы должны находиться в системном пути или в той же папке, что и файл MEX.

Для файлов MEX могут потребоваться дополнительные библиотеки, которые не связаны с файлом MEX. Отказ поиска одной из этих явно загруженных библиотек может не помешать загрузке файла MEX, а помешать правильной работе. Код, загружающий библиотеки, управляет путем пути поиска файлов, используемым для поиска этих библиотек. Возможно, пути поиска файлов не содержат папку, содержащую файл MEX. Ознакомьтесь с документацией библиотеки по правильным местам установки.

Возможные причины отказа включают:

  • Несовместимость версий MATLAB. Дополнительные сведения см. в разделе Совместимость версий MEX.

  • Отсутствуют библиотеки во время выполнения компилятора. Если ваша система не имеет того компилятора, который создавал файл MEX, смотрите Microsoft® MSDN® веб-сайт для получения информации о Visual C++® Перераспределяемые пакеты.

  • Отсутствующие или неправильно установленные специализированные библиотеки во время выполнения. Обратитесь к поставщику файла MEX или библиотеки.

Похожие темы

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