Wie installiert und kompiliert man die MEX-Interfaces
Es gibt drei Alternativen um die MEX-Interfaces zu verwenden Mit MATLAB und mex -setup
Das ist möglich, wenn ein C und ein Fortran Compiler installiert sind,
die beide von MATLAB unterstützt werden.
"Koppeln" Sie beide Compiler an MATLAB an, in dem Siemex -setup auf MATLAB's Kommandozeile eingeben und die richtigen Options-Dateien auswählen (mehr Informationen hierzu: Mathworks Support
).
Dieser Schritt muss nur ein einziges Mal getätigt werden.
Um zu überprüfen, ob alles bereit ist, geben Siemex -v ein. Wenn Sie jetzt eine Liste mit einem C-Compiler (CC) und einem Fortran-Compiler (FC) als Ausgabe erhalten, dann ist alles bereit. Hier ist eine Beispielausgabe: mexconfig.txt. Dann gehen Sie zur Installation des MEX-Interfaces so vor:
- zip-File mit MEX-Interface in eigenes Verzeichnis auspacken
- MATLAB starten und in das Verzeichnis aus 1. gehen
- "compile" aufrufen, also "compile" auf MATLAB's Kommandozeile eingeben
- wenn alles gut gegangen ist, müsste jetzt mindestens ein
.mexsol(bei Solaris-Rechnern) bzw. mindestens ein.dll(bei Windows-Rechnern, MATLAB<7.1) oder ein.mexw32(bei Windows-Rechnern, MATLAB>=7.1) File entstanden sein - Sie haben jetzt zwei Möglichkeiten: entweder Sie setzen MATLAB's Suchpfad auf das Verzeichnis unter 1. und können dann überall das Interface verwenden oder Sie kopieren die
.mexsoloder.dllund.mFiles in das Verzeichnis, in dem Sie das Interface auch verwenden wollen.
Mit lcc-win32
Dazu brauchen Sie einen Windows-PC:- Gehen Sie auf http://www.cs.virginia.edu/~lcc-win32/
oder http://q-software-solutions.de/products/lcc-win32/index.shtml
- laden Sie sich
lccwin32.exe(momentan 3.9 Mb) herunter - laden Sie sich
fortran.exe(momentan 0.5 Mb) von http://www.filewatcher.com/m/fortran.exe.453574.0.0.html
herunter
- Installieren Sie
lccwin32.exe, möglichst in einen Pfad OHNE Spaces (z.B.c:\lcc) - Installieren Sie
fortran.exeam genau gleichen Ort (also in obigen Beispiel unterc:\lcc) - zip-File mit MEX-Interface in eigenes Verzeichnis auspacken
- in dieses Verzeichnis wechseln, die Datei
create.batmit irgendeinem Texteditor öffnen und die zwei Pfade (MATLAB und lcc) an den markierten Stellen korrigieren -
create.batauf der Dos Eingabeaufforderung (Dos-Box) starten - wenn alles gut gegangen ist, müsste jetzt mindestens ein
.dllFile entstanden sein - Sie haben jetzt zwei Möglichkeiten: entweder Sie setzen MATLAB's Suchpfad auf das Verzeichnis unter 6. und können dann überall das Interface verwenden oder Sie kopieren die
.dllund.mFiles in das Verzeichnis, in dem Sie das Interface verwenden wollen.
Mit OpenWatcom 1.3
Das ist möglich, falls Sie einen Windows-PC haben und Ihre MATLAB Version OpenWatcom 1.3 unterstützt. Gehen Sie ins<MATLAB-Path>/extern/lib/win32/watcom Verzeichnis. Befindet sich dort ein Unterverzeichnis
openwc13 dann
wird OpenWatcom 1.3 von Ihrer MATLAB Version unterstützt. - Gehen Sie auf http://openwatcom.mirrors.pair.com/
- laden Sie sich open-watcom-win32-1.3.exe
herunter
- Installieren Sie OpenWatcom 1.3
- zip-File mit MEX-Interface in eigenes Verzeichnis auspacken
- in dieses Verzeichnis wechseln, die Datei
create_wc.batmit irgendeinem Texteditor öffnen und die zwei Pfade (MATLAB und Watcom) an den markierten Stellen korrigieren - starten Sie
create_wc.batauf der Dos Eingabeaufforderung (Dos-Box) - wenn alles gut gegangen ist, müsste jetzt mindestens ein
.dllFile entstanden sein - Stellen Sie sicher, dass
binntandbinw(in dieser Reihenfolge) in der PATH Umgebungsvariable steht und starten Sie MATLAB - Sie haben jetzt zwei Möglichkeiten: entweder Sie setzen MATLAB's Suchpfad auf das Verzeichnis unter 4. und können dann überall das Interface verwenden oder Sie kopieren die
.dllund.mFiles in das Verzeichnis, in dem Sie das Interface verwenden wollen.
Anmkerkungen zu Cygwin, MingW und Gnumex
Die Erklärung der Installation von Cygwin und/oder MingW zusammen mit Gnumex würde den Rahmen dieses HowTos sprengen. Informationen dazu findet man auf der Gnumex homepage
.
Stattdessen gebe ich ein paar Hinweise, die hilfreich sein könnten, um diese MEX Interfaces
mit gnumex zu kompilieren und zu linken. - Linken Sie an MingW (anstatt an Cygwin) oder Sie müssen eine ältere Version von Cygwin verwenden (vgl. die Warnung auf der gnumex homepage)
- Verwenden Sie nicht die "rtd"-Aufrufkonvention, also nicht die
-mrtdOption setzen. - Definieren Sie die Symbole
FORTRANUPPundFORTRANNOUNDER, um dem MEX Interface anzuzeigen, wie die Fortran-Symbole aussehen (hier in Großbuchstaben und ohne Underscore am Ende); übergeben Sie also die Argumente-DFORTRANUPPund-DFORTRANNOUNDER
mex -v -f c:\gnumex\mexmingf.bat -DFORTRANUPP -DFORTRANNOUNDER radauMex.c options.c radau.f lapack.f lapackc.f dc_lapack.f
zum Laufen gebracht.
Fragen, Probleme, Bugs
Schreiben Sie an Ludwig_C
gmx.de



