View Full Version : [C/C++] gnu scientific library
salve, ho letto un articolo su questa libreria. l'articolo dedica due righe alla preparazione sotto linux, basta usare la solita procedura .configure, make, make install.. io uso codeblocks e ancora non riesco a farle funzionare.. ho la mia cartella gsl-1.0 che a questo punto dovrebbe essere a posto però dove la metto?? grazie a chi risponderà :)
solitamente se non hai passato al configure qualche parametro particolare (tipo --prefix=/qualche/dir) una volta che dai il make install lui ti mette le librerie che devi linkare in /usr/lib o qualche altra cartella che sta nei path che il compilatore controlla normalmente. Che errore ti dà il compilatore?
mi da undefined reference a tutte le chiamate delle funzioni della gsl
devi linkare esplicitamente con gcc naturalmente... in code blocks ci sarà qualche opzione analoga per specificare il nome del fil .a da passare...
lo faccio ma evidentemente nel posto sbagliato :(
in teoria dovresti avere tra le opzioni del linker qualcosa come (se la lib è libgsl.a) -lgsl
magari controlla dove il make install ti ha messo le librerie!
BrutPitt
08-04-2009, 17:47
Pero' se l'hai inserita correttamente dovrebbe dirti che non trova la libreria... non darti "undefined external link" ;)
Se devi inserire la libreria in code::block:
Menu Project->Preferences
Linguetta (tag) BuildTargets -> Pulsante BuildOptions
Linguetta (tag) Linker Settings -> e nella sezione Link Libreries aggiungi SOLO gsl
Eventualmente, se devi inserire anche il "path"
Seleziona il tag "Search directories" con il riferimento al "linker".
(Puoi farlo anche esplicitamente in "other linker options", aggiungendo
-lgsl
-L/usr/miaCartella
... la prima elle minuscola e la seconda maiuscola ;) )
Ancora una cosa.... se stai usando un linux a 64bit, e' possibile che la cartella di default per le librerie sia /usr/lib64.
Al limite basta un link nella cartella /usr/lib a libgsl.a
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.