2016-05-23 19 views
0

Ich bekomme invalid mex file Fehler beim Ausführen von etwas Code in MATLAB (64-Bit unter Windows 7 64-Bit).Ungültige Mex-Datei Fehler

Nach einigem googeln, habe ich gelernt, dass ich alle Abhängigkeit DLL-Dateien herunterladen und sie mit dieser MEX-Datei einfügen muss. Also tat ich (Abhängigkeit Walker verwendet, um nach Abhängigkeiten zu suchen), aber das Problem bleibt. Dependency Walker sagt verschiedene CPU-Typen DLL-Dateien.

Ich kann 64-Bit-Version einiger DLL-Dateien nicht finden. Was kann ich tun, um das Problem zu lösen? Dependency Walker Schnappschuss ist hier:

enter image description here

+0

Kurze Antwort: Sie können nicht. 64-Bit-Mex-Dateien erfordern, dass die abhängigen DLLs ebenfalls 64-Bit sind. Sie können dies umgehen, indem Sie die 32-Bit-DLLs einbetten und Interprozesskommunikation verwenden. –

+0

Stellen Sie außerdem sicher, dass Sie die 64-Bit-Version von dependency walker ausführen. Andernfalls wird an den falschen Stellen gesucht und x86-DLLs falsch aufgelistet. – Amro

+0

Danke euch beiden. @Amro Ich benutze 64-Bit-Abhängigkeitswalker. – Suleman

Antwort

0

@Jorgan dll Verpackung ist eine Option, aber ein wenig professionelle Aufgabe, wie Sie .h-Datei für die DLL erstellen müssten.
Glücklicherweise bekam ich das Problem, weil die Mex-Datei unter einer früheren Version von Matlab kompiliert wurde. So kann ich den Code ohne DLL-Dateien in Matlab 2013a ausführen, in dem er tatsächlich kompiliert wurde.