Если MATLAB® не может найти весь .dll
файлы, на которые ссылается файл MEX, это не может загрузить файл MEX. MATLAB отображает следующее сообщение об ошибке:
Invalid MEX-file mexfilename: The specified module could not be found.
где mexfilename
модуль с ошибкой зависимости. Этот модуль не может найти свои зависимые библиотеки. Чтобы разрешить эту ошибку, найдите имена зависимых библиотек и определите, присутствуют ли они в вашей системе и в системном пути. Найти библиотечные зависимости:
На Windows® системы, загрузите Зависимость утилита Уокера с веб-сайта 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 или поставщиком библиотеки.