Подтвердить что ты не робот

Ошибка: недопустимый файл MEX, указанный модуль не найден

Я успешно скомпилировал файл Mex на своем ноутбуке. Но когда я его запускаю, он говорит Invalid mex file 'c:\newfolder\filename.mexw32' The specified module could not be found.

System specification:  
OS: windows 7  
MATLAB 2010a  
Microsoft Visual Studio 2008.  

Тот же самый файл mex скомпилирован и успешно запущен на моем ПК под XP SP3.

4b9b3361

Ответ 1

Эта ссылка для поддержки MathWorks предлагает две возможные причины вашей проблемы:

  • У вас нет всех необходимых библиотек, от которых зависит функция MEX.
  • Вы используете MEX файл в другой версии MATLAB, чем он был скомпилирован.

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

Ответ 2

Вы используете файл mex в другой системе, чем тот, на котором он создан?

Если это так, вам нужно установить Microsoft Visual С++ Redistributable на этой машине.

Ответ 3

У меня была и эта проблема при обновлении с Matlab2010a/VS2008 до Matlab2013a/VS2010.

Все мои переменные среды были отправлены правильно. При перезагрузке исправлены проблемы с DLL файлами OpenCV, я предполагаю, что он все еще пытался связать с DLL OpenCV для VS2008 (хотя я изменил путь). Однако мой файл mex не смог найти libmex.dll.

Когда я установил Matlab2013a, я не удалял старую версию (в случае, если я хотел вернуться). Однако это и послужило причиной моей проблемы. Как только я удалил старую версию Matlab и снова перезагрузился, проблема исчезла.

Ответ 4

У меня была аналогичная проблема. Я только связывался с 1 'lib', поэтому я просто скопировал эту библиотеку в ту же папку, что и mexw64, и она сработала.

Я не пытаюсь найти подходящее место, чтобы сказать MATLAB, чтобы добавить реальное местоположение lib в любой путь, на который он смотрит.