2013-03-11 27 views
11

Z powodzeniem skompilowałem plik Mex na moim laptopie. Ale kiedy go uruchomię, mówi: Invalid mex file 'c:\newfolder\filename.mexw32' The specified module could not be found.Błąd: Niepoprawny plik MEX, określonego modułu nie można znaleźć

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

Ten sam plik mex został skompilowany i uruchomiony z powodzeniem na moim komputerze w XP SP3.

+0

Czy masz instalację 32- lub 64-bitową? – Nick

+0

Tak, mam 32-bitową instalację. mój os jest również 32-bitowy – anand

+1

Użyj MS Dependency Walker w trybie profilu do debugowania tego –

Odpowiedz

4

Czy jesteś plikiem mex w innym systemie niż ten, na którym został utworzony?

Jeśli tak, to musisz zainstalować na tym komputerze urządzenie Microsoft Visual C++ Redistributable.

+1

Nie, skompilowałem plik mex na obu komputerach oddzielnie iz powodzeniem. Ale kiedy próbowałem uruchomić ten plik mexw32 na moim laptopie, pokazuje mi błąd. – anand

9

This MathWorks support link sugeruje dwa możliwe powody do Twojego problemu:

  1. Nie mają Państwo wszystkich niezbędnych bibliotek MEX-funkcja jest uzależniona.
  2. Plik MEX jest uruchamiany na innej wersji MATLAB niż na nim skompilowano.

Tak czy inaczej, aby zlokalizować źródło tego błędu jest napisane, że trzeba wymienić wszystkie pliki bibliotek zależnych i zweryfikować ich istnienie w systemie, który próbujesz uruchomić plik na MEX, a także zaleca Dependecy Walker jako narzędzie do tego.

+0

po użyciu Dependency Walker pokazuje ... ? CV210d.dll ? cxcore210d.dll ? libmex.dll ? libmx.dll. Dla wszystkich powyższych elementów wyświetla się komunikat "Błąd otwierania pliku, system nie może znaleźć określonego pliku (2)." – anand

+0

@anand To jest coś związanego z OpenCV. Czy masz ten plik na swoim laptopie? –

+0

tak, mam cały ten plik na moim laptopie w katalogu C: \ OpenCV2.1 \ bin. Nie wiem co robić po tym ... Sugeruję rozwiązanie. – anand

0

Miałem ten problem również podczas aktualizacji z Matlab2010a/VS2008 do Matlab2013a/VS2010.

Wszystkie moje zmienne środowiskowe zostały wysłane poprawnie. Restart naprawiono problemy z bibliotekami DLL OpenCV nie znaleziono, Zakładam, że nadal próbował link do biblioteki DLL OpenCV dla VS2008 (mimo że zmieniłem ścieżkę). Jednak nadal mój plik mex nie mógł znaleźć libmex.dll.

Kiedy zainstalowałem Matlab2013a, nie odinstalowałem starej wersji (na wypadek gdyby chciałem wrócić). To jednak było przyczyną mojego problemu. Po odinstalowaniu starej wersji programu Matlab i ponownym uruchomieniu ponownie problem zniknął.

0

Miałem podobny problem. Łączę się tylko z 1 "lib", więc po prostu skopiowałem tę bibliotekę do tego samego folderu co mexw64 i zadziałało.

Nie szukałem właściwego miejsca, aby powiedzieć MATLAB, aby dodać rzeczywistą lokalizację biblioteki do dowolnej ścieżki, na którą patrzy.

Powiązane problemy