Fftw e codeblocks

di il
20 risposte

Fftw e codeblocks

Come si installa la libreria fftw in codeblocks? Ho cercato in internet ma non ho trovato nulla, qualcuno può aiutarmi? Uso windows 8.

20 Risposte

  • Re: Fftw e codeblocks

    Non sarebbe meglio studiare le basi prima?
    Le librerie non si installano nell'ide ma al massimo si linkano nel compilatore.
    Quindi una volta che hai installato(o scompresso) fftw sicuramente troverai i file .h (header) che #includerai nel tuo programma,poi dovrai dire a gcc di linkare le lib.a a quel punto puoi andare in c::b->project->build options...->linker->add e cerchi la libreria.
    Ora può darsi che devi copiare il file .dll nella cartella "..\mingw\bin" e molto piu sicuramente nalla system32,sempre che non ci sia un pacchetto di installazione ed allora viene fatto tutto da solo,o quasi.

    Guarda comunque la coincidenza,anche io sto lavorando che le fft,ma non con quella libreria.
    La funzione della fast l'ho estrapolata da "Numerical Recipes C" l'ho poi modificata grazie all'aiuto di un paio di amici e fa il suo dovere.
    Bella robina assai complicata cmq io con tutta sta matematica complessa mica ci vado molto daccordo!
    Fortuna che il mio compito era ben altro,molto piu bello,ovvero creare il parser dei comandi ed unire tutte le parti del software,mi hanno lasciato anche la parte grafica dato che dispongo di una libreria assai carina e molto facile da usare.

    In bocca al lupo
  • Re: Fftw e codeblocks

    Di file con estensione .a non ce ne sono. Comunque provo a inserire i dll nelle cartelle che mi hai indicato e vedo se basta.Grazie della risposta.
  • Re: Fftw e codeblocks

    L'ho appena scaricata, e scompressa.
    Hai un file di nome "fftw3.h"
    quello è l'header che dovrai includere quando usi fft ti consiglio di copiarlo nella directory:"..\mingw\include" in questo modo nel programma potrai referenziarlo con:
    
    #include <fftw3.h>
    
    non ho ben capito come importare le varie funzioni, ma penso tu debba udare la mklib passandogli la .dll in modo da ricrearti la lib.a altrimenti puoi caricarti dll manualmente con LoadLib però poi devi caricarti tutte le funzioni a mano.
  • Re: Fftw e codeblocks

    Ehm...non conosco la mklib. Come faccio a creare i file .a ?
  • Re: Fftw e codeblocks

    Scusa mi son sbagliato!!!
    il programma è dlltool "mingw\bin"
    Qui spiega molto bene come fare
  • Re: Fftw e codeblocks

    Ho cercato di decifrare la pagina che mi hai segnalato (con l' inglese non mi ci trovo), ma non mi è chiara una cosa.
    andiamo con ordine:
    da quel che ho capito (o credo di aver capito), i file .a vanno creati a partire dai file .def (che sono già presenti nella cartella di fftw3). Quindi dovrei eseguire l' istruzione "dlltool -d somedll.def -l libsomedll.a" (l' ho riportata come è scritta nella pagina, ma presumo che nel mio caso, dovrebbe essere riscritta come "dlltool -d libfftw3-3.def -l libfftw3-3.a").Ma dove inserisco queste istruzioni? Non è C.
    Scusa l' ignoranza, ma sono un principiante totale.
  • Re: Fftw e codeblocks

    Perché non usare Visual C++ ?
  • Re: Fftw e codeblocks

    oregon ha scritto:


    Perché non usare Visual C++ ?
    O buttare via tutto ( ) e passare a Cygwin + Nebeans.

    Ma sto Dev-C++ e' come l'erba cattiva : lo trovi ovunque e fa piu' danni che altro.

    Con Cygwin hai la libreria gia' pronta da utilizzare: basta installarla con il tool di setup.

    Taaaaaaaaaaanti meno problemi.
  • Re: Fftw e codeblocks

    Perché non usare Visual C++ ?
    perchè? con visual studio devi crearti la .lib con il programa lib.exe cosa cambia dunque???
    Ma sto Dev-C++
    Ma hai letto il titolo???
    e passare a Cygwin + Nebeans.
    no comment...

    Torniamo a noi:
    La procedura per poter linkare la dll è la medesima sia per MingW che per VS cambia solo il programma da usare.

    Allora devi crearti la libreria .a per Mingw o la .lib per visual studio.
    Per far questo devi usare o dlltool.exe per Mingw o lib.exe per visual studio.

    Passo 1:Copia la .dll e il .def nella directori :".\mingw\bin"
    Passo 2:Esegui cmd.exe e portati in quella directory
    Passo 3:Scrivi "dlltool.exe -d libfftw3-3.def -l libfftw3-3.a"
    Passo 4:Copia la libreria.a in ".\Mingw\lib" e la .dll in system32 lasciandone una copia anche in bin
    Passo 5:Linka nel progetto la libreria.a Fatto.Divertiti.

    per visual studio:
    è tutto identico solo che per crearti la .lib devi scrivere "lib.exe /def:libfftw3-3.def"
  • Re: Fftw e codeblocks

    Ho fatto come hai scritto, ma le librerie risultano prive di dimensione (0 KB) e infatti non sono utilizzabili.Dopo la compilazione, elenca le tre librerie .a col messaggio "file not recognized: File truncated".Altro sistema?
  • Re: Fftw e codeblocks

    Opps, ho scritto devcc inece di codeblocks.
    IDE diverso, risultato uguale.
    Vbextreme, mi sa che devi essere un avvocato: i cavilli....

    Perche' ti sta antipatico netbeans o cygwin?

    Attualmente lo stesso codice me lo compilo sotto windos (cygwin), mac, e su due diversi tipi di cluster al cineca (quello dei super computer!!).

    E lo sviluppo avviene su win e mac con netbeans.

    E non e' precisamente "hello world"

    Boh!
  • Re: Fftw e codeblocks

    Ma .....che stupido!
    Copia la libreria in "win\system32"
    Copia la libreira in "mingw\lib" e rinomila in "libffw[versione].dll.a"
    link et volila....
  • Re: Fftw e codeblocks

    Niente da fare, stesso risultato.Poi non capisco perchè le librerie .a sono di 0 KB.
  • Re: Fftw e codeblocks

    vbextreme ha scritto:


    Perché non usare Visual C++ ?
    perchè? con visual studio devi crearti la .lib con il programa lib.exe cosa cambia dunque???
    Se hai le DLL non ti servono le .lib.
Devi accedere o registrarti per scrivere nel forum
20 risposte