|
|
Mex nicht gefunden obwohl im Ordner |
|
Scriptor |
Forum-Century
|
|
Beiträge: 217
|
|
|
|
Anmeldedatum: 22.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.12.2010, 12:06
Titel: Mex nicht gefunden obwohl im Ordner
|
|
|
|
|
Sehr geehrte Community,
Ich habe ein recht interessantes Problem was mich selten so auf einen Schlag ratlos gemacht hat. Ich habe in Linux einige C Bibliotheken genutzt und Funktionen entwickelt, die ich unter Linux über mex ins Matlab portiert habe. Bis hierhin kein Problem. Nachdem ich dieses über MinGW auf XP portiert habe, kann ich nicht auf den entstandenen Mex File zuzugreifen und ich habe keinen blassen Schimmer, wo ich ansetzen soll, damit dieses Problem beseitigt wird.
Invalid MEX-file 'C:\work\myfunction.mexw32': Das angegebene Modul wurde nicht gefunden.
Dieser Code kommt bei beiden geschrieben Funktionen vor. Ich hab wie gesagt keinen blassen Schimmer, ob ich z.B: bei der Installation mit MinGW schon irgendwas verpennt habe, oder bei der Umwandlung der kompilierten dll Datei in eine .lib. Nach mexxing wollte ich die Funktionen testen und nich passiert, nur die Fehlermeldung.
Hat jemand damit schonmal zu tun gehabt?
Ich hoffe mit der Portierung von Linux zu winxp hat damit nichts oder nur recht simpel zu tun.
Mfg Ich
|
|
|
|
|
Achi |
Forum-Guru
|
|
Beiträge: 250
|
|
|
|
Anmeldedatum: 14.04.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 15.12.2010, 13:02
Titel:
|
|
Hatte nach einem Absturtz ein ähnliches Problem, die Files liesen sich nicht mehr öffnen.
Was bei mir geholfen hat: löschen und neu komilieren.
Weiss jetzt nicht ob die Fikles aus irgendeinem Grund gelockt waren oder ich die Schreibberechtigung verloren habe. Kann alles sein.
|
|
|
Scriptor |
Themenstarter
Forum-Century
|
|
Beiträge: 217
|
|
|
|
Anmeldedatum: 22.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.12.2010, 13:57
Titel:
|
|
Achi hat Folgendes geschrieben: |
Hatte nach einem Absturtz ein ähnliches Problem, die Files liesen sich nicht mehr öffnen.
Was bei mir geholfen hat: löschen und neu komilieren.
Weiss jetzt nicht ob die Fikles aus irgendeinem Grund gelockt waren oder ich die Schreibberechtigung verloren habe. Kann alles sein. |
gelockt? verstehe nicht ganz. löschen und kompilieren klappt jedenfalls nicht. schade
|
|
|
Achi |
Forum-Guru
|
|
Beiträge: 250
|
|
|
|
Anmeldedatum: 14.04.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 15.12.2010, 14:05
Titel:
|
|
es gibt einen Schreibschutz für mex-Files:
und umgedreht:
denke beim Absturz wurde es durch den Befehl mexLock() schreibgeschützt, obwohl der Befehl nicht in meinem File vorkommt!
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 15.12.2010, 14:50
Titel:
|
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 15.12.2010, 15:04
Titel:
|
|
Andreas du meinst mit "NUR" Matlab 32 bit? Ich kann doch Matlab 32 Bit Version auf 64 Bit Rechner installieren und trodzdem Mex32 verwenden, oder etwa nicht?
|
|
|
Gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.12.2010, 15:07
Titel:
|
|
New File Extension for MEX-Files on Windows Systems
MATLAB now uses the extension .mexw32 for MEX-files on 32-bit versions of Windows systems.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 15.12.2010, 15:20
Titel:
|
|
Gast hat Folgendes geschrieben: |
New File Extension for MEX-Files on Windows Systems
MATLAB now uses the extension .mexw32 for MEX-files on 32-bit versions of Windows systems. |
Das ist klar, dieser Satz stammt noch aus der Hilfe von R2006,
es ist aber seitdem viel Zeit vergangen, man hat jetzt 64-Bit Systeme, man kann darauf auch 32 Bit Matlab Version laufen lassen. 32 Bit Matlab kann ja nur Mex32 ausführen.
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 15.12.2010, 17:51
Titel:
|
|
Also ein 32 Bit MATLAB auf einem Win64 System KANN MEXW32 Dateien verstehen.
Ich dachte, dass hier generell das Problem vorliegt, dass MEXW32 z.B. auf Linux versucht wird - was fehlschlägt.
Andreas
|
|
|
Scriptor |
Themenstarter
Forum-Century
|
|
Beiträge: 217
|
|
|
|
Anmeldedatum: 22.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.12.2010, 01:26
Titel:
|
|
|
|
|
Andreas Goser hat Folgendes geschrieben: |
Also ein 32 Bit MATLAB auf einem Win64 System KANN MEXW32 Dateien verstehen.
Ich dachte, dass hier generell das Problem vorliegt, dass MEXW32 z.B. auf Linux versucht wird - was fehlschlägt.
Andreas |
Nee so einfach mache ich es mir dann doch nicht
Ich habe mir in Suse mithilfe zweier Libs in c (fftw3 von der genialen Truppe aus Michigan und nfft3 von den ebenso genialen Trupp um Daniel Potts. Diese Mex-Files sind unter Linux auch gelaufen und laufen immer noch.
Als nächstes stand die Portierung auf Windows an.
Hierfür habe ich mit MinGW die Libs installiert wie unter Linux auch (MinGW erstelle mir dafür DLL Dateien. Im MinGW war hierfür eine Bash Shell (msys) miteliefert, mit der das wie unter Linux der Fall ist.
Jedenfalls habe ich mir hierfür ide Pakete von der fftw3 - Seite runtergeladen und installiert mit
→ ./configure --with-our-malloc16 --enable-shared --enable-portable-binary --enable-sse2 --prefix=c:/MinGW/msys/1.0/home/Scriptor/Progs/fftwdir
→ make
→ make install
.
Nun hat mir MinGW in prefixordner/bin eine dll erstellt.
Diese habe ich mit
-> cd bin
-> echo EXPORTS > libfftw3-3.def
-> nm libfftw3-3.dll | grep ' T _' | sed 's/.* T _//' >> libfftw3-3.def
-> dlltool -d libfftw3-3.def -D libfftw3-3.dll --output-lib libfftw3-3.lib
in .lib Dateien umgewandelt um Matlab darauf zugeifen zu lassen.
Gleiches habe ich mit der nfft3 Lib gemacht.
Nun habe ich mir die selbstgeschriebenen .c Funktionen von Suse geholt und mit
"mex potts_infft.c -Ic:\MinGW\fftw3dir\include -Lc:\MinGW\fftw3dir\bin -Ic:\MinGW\nfft3dir\include -llibfftw3-3 -llibnfft3-0"
gemext. Anschließend habe ich die oben genannte Fehlermeldung
"Invalid MEX-file 'C:\work\myfunction.mexw32': Das angegebene Modul wurde nicht gefunden."
erhalten.
Vll hilft die Aufschlüsselung besser. Wenn ich die Diplomarbeit durch habe und alles funzt, gebe ich gern die OS-Portierung als Tutorial weiter. Vll auch die non uniform FFT Funktionen, mal sehen.
Schöne Grüße!!
|
|
|
Scriptor |
Themenstarter
Forum-Century
|
|
Beiträge: 217
|
|
|
|
Anmeldedatum: 22.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.12.2010, 15:32
Titel:
|
|
hat keiner eine Idee oder Anregung?
Danke und Gruß,
Scriptor
|
|
|
mickbro |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.08.2019, 09:48
Titel:
|
|
Ist zwar ein sehr alter Post aber ich bin soeben selbst darüber gestolpert. Wenn die mexw32 oder mexw64 weitere Abhängigkeiten hat die nicht gefunden werden können, kommt der Fehler auch.
|
|
|
JanInfoMed |
Forum-Anfänger
|
|
Beiträge: 23
|
|
|
|
Anmeldedatum: 29.08.19
|
|
|
|
Wohnort: Regensburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.09.2019, 10:32
Titel:
|
|
get more apps -> MATLAB Support for MinGW-w64 C/C++ Compiler
und das ausführen, dann müsst es eig. gehen
copyfile(fullfile(matlabroot,'extern','examples','mex','explore.c'),'.','f')
mex -setup
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|