mit MinGW versucht Linux Bibliotheken auf Win32 nutzbar zu machen und dann mexen



  • Servus liebe Community,

    Erstmal wünsche ich ein schönes Restfest sowie einen guten Rutsch ins neue Jahr mit viel Gesundheit und Erfolg in allen Lebensbereichen.

    To Topic:

    Eigentlich überschneidet das Thema viele Themenbereiche. Ich habe unter Suse 11.2 ein paar Codes gehämmert, die zwei Linuxlibs neben den anderen Usus-Libs nutzen(math.h, complex.h, stdlib.h....) und zwar fftw3 und nfft3. Anschließend habe ich diese unter Linux in Matlab zu MexFiles kompiliert und ausgiebig auf Bugs etc getestest.

    Nun habe ich die Libs auf Linux portiert und zwar mit MinGW unter der MSYS Konsole.

    Hierfür habe ich ganz normal die typischen Installationsbefehle genutzt und zwar

    ./configure  --with-our-malloc16  --enable-shared  --enable-portable-binary --enable-sse2         	--prefix=c:/MinGW/msys/1.0/home/Inge/Progs/fftwdir
    	make
    	make install
    

    Anschließend habe ich die erstellten Binaries in .defs umgewandelt und zu statuc libraries (für Matlav) konvertiert.

    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
    

    Nun habe ich versucht einige Mex Files zu erstellen, was aber so nicht richtig funktioniert hatte. Mit diesen shared libs habe ich dann versucht unter Matlab zu mexen:

    mex potts_infft.c  -Ic:\MinGW\fftw3dir\include -Lc:\MinGW\fftw3dir\bin -Ic:\MinGW\nfft3dir\include  -llibfftw3-3 -Lc:\MinGW\nfft3dir\bin -llibnfft3-0
    

    was mir auch einen Mex File erstellt hat. Nun will ich die Mex aufrufen innerhalb eines m-Files. Dann gibt es mir nur folgendes aus und ich hab keine Ahnung woran das liegt.

    ??? Invalid MEX-file 'C:\work\dft trafos\nfft
    potts\potts_nfft.mexw32': Das angegebene Modul wurde nicht gefunden.
    

    Ich habe die Welt nicht mehr verstanden. Kennt jemand das Problem oder hat eine Ahnung?

    Ich sitz da schon seit einer Weile ohne Plan.

    Mfg Ich


Anmelden zum Antworten