PDA

View Full Version : UTILIZZO LIBRERIE IN C


claori
27-07-2006, 15:02
Ciao a tutti,
per un progetto abbiamo bisogno di utilizzare delle librerie! Abbiamo provato di tutto...
Le abbaimo messe in tutte le cartelle possibili ed immaginabili. Siamo persino arrivate a creare una libreria personale con le funzioni da richiamare... Ma niente....
Qualcuno sa darci qualche consiglio...
Vi prego, siamo abbastanza disperate :cry:
:help: us

Grazie Claudia!!!

Marco Giunio Silano
27-07-2006, 15:08
Ciao a tutti,
per un progetto abbiamo bisogno di utilizzare delle librerie! Abbiamo provato di tutto...
Le abbaimo messe in tutte le cartelle possibili ed immaginabili. Siamo persino arrivate a creare una libreria personale con le funzioni da richiamare... Ma niente....
Qualcuno sa darci qualche consiglio...
Vi prego, siamo abbastanza disperate :cry:
:help: us

Grazie Claudia!!!

ma che librerie sono? Che dovete fare? che vi serve? librerie di calcolo? quel'è l'errore? in compilazione o in link? + info pls.

claori
27-07-2006, 15:11
Sono delle librerie per utilizzare il tpm! Abbiamo il codice c ed i .h ma non riesce a trovarci le funzioni ci da l'errore di "undefined reference to" di una funzione che si trova in una libreria che abbiamo incluso!!
Non riusciamo a capire come sia possibile!
Ammettiamo di non avere molto familiarità con il C, di solito usiamo Java! :(

Marco Giunio Silano
27-07-2006, 15:16
Sono delle librerie per utilizzare il tpm! Abbiamo il codice c ed i .h ma non riesce a trovarci le funzioni ci da l'errore di "undefined reference to" di una funzione che si trova in una libreria che abbiamo incluso!!
Non riusciamo a capire come sia possibile!
Ammettiamo di non avere molto familiarità con il C, di solito usiamo Java! :(

e i .lib? e i .dll
in fase di link devi dave il collegamento dinamico con la funzione, cosa che fà il .lib. devi però indicarlo nel progetto. da qualche parte del compilatore c'è. devi includere il lib al progetto.

Marco Giunio Silano
27-07-2006, 15:17
Sono delle librerie per utilizzare il tpm! Abbiamo il codice c ed i .h ma non riesce a trovarci le funzioni ci da l'errore di "undefined reference to" di una funzione che si trova in una libreria che abbiamo incluso!!
Non riusciamo a capire come sia possibile!
Ammettiamo di non avere molto familiarità con il C, di solito usiamo Java! :(

ma se hai il codice c sorgente della libreria tiratelod entro al tuo progetto.

claori
27-07-2006, 15:21
come faccio a crearli??? Io ho segiuto le istruzioni per creare la libreria che ho trovato in internet!!!

Marco Giunio Silano
27-07-2006, 15:30
come faccio a crearli??? Io ho segiuto le istruzioni per creare la libreria che ho trovato in internet!!!

nn ho capito, ma tu devi utilizzare o devi crearle?
De vedi utiliz una libreria è composta da
.h - descrizione funzioni/strutture/define etc
.lib - che ti da il collegamento dinamico alle funzioni
.dll - il compilato dell libreria di funzioni

le due fasi di compilazione sn:
compilazione: che usa il .h
linker: che usa il lib

tu cos'hai?

claori
27-07-2006, 15:34
inizialmente abbiamo installato il paccheto contentente le librerie...
Ma le cose non funzionavano.
Qdi abbiamo creato il .c ed il relativo .h a mano e abbiamo anche creto il punto a senza nessun problema... In fase di compilazione x' abbiamo avuto una serie di problemi!

Marco Giunio Silano
27-07-2006, 15:46
inizialmente abbiamo installato il paccheto contentente le librerie...
Ma le cose non funzionavano.
Qdi abbiamo creato il .c ed il relativo .h a mano e abbiamo anche creto il punto a senza nessun problema... In fase di compilazione x' abbiamo avuto una serie di problemi!

si va bene, ma cos'hai? e perché di devi creare il .h della libreria che hai comprato? Ok, puoi anche farlos enza il .h e il .lib, ma allora devi conoscere i dati della dll che vai ad usare e come indirizzarla. ci sn più modi stdlib, stdcall, vedi le opzioni del tuo compilatore e cerca doc della dll.

trallallero
27-07-2006, 15:57
che sistema operativo usate ?
.dll é solo per Windows.
Vabbé che tanto sto andando a casa ... :D

Marco Giunio Silano
27-07-2006, 16:05
che sistema operativo usate ?
.dll é solo per Windows.
Vabbé che tanto sto andando a casa ... :D

azz è vero, vedi che queste usano unix! :D
ps: buon rietro a casa LOL

trallallero
28-07-2006, 06:59
Sono delle librerie per utilizzare il tpm! Abbiamo il codice c ed i .h ma non riesce a trovarci le funzioni ci da l'errore di "undefined reference to" di una funzione che si trova in una libreria che abbiamo incluso!!
Non riusciamo a capire come sia possibile!
Ammettiamo di non avere molto familiarità con il C, di solito usiamo Java! :(
incluso cosa significa ? perché se intendi
#include <pippo.h>
questo non significa includere una libreria, ma solo il file header ;)
Infatti "undefined reference to" avviene nel momento di "linkaggio" (in italiano collazione ma fa schifo:rolleyes: ) cioé quando va a cercare proprio la libreria fisica (.dll, .lib, .a, .so ...).
Dovresti postare l'errore preciso del compilatore.
Ciao.

Marco Giunio Silano
28-07-2006, 07:44
incluso cosa significa ? perché se intendi
#include <pippo.h>
questo non significa includere una libreria, ma solo il file header ;)
Infatti "undefined reference to" avviene nel momento di "linkaggio" (in italiano collazione ma fa schifo:rolleyes: ) cioé quando va a cercare proprio la libreria fisica (.dll, .lib, .a, .so ...).
Dovresti postare l'errore preciso del compilatore.
Ciao.

Glielo avevo già suggerito, ma sembra non avere idea di cosa sia la fase di link e cosa voglia dire collegarsi alla funzione nella libreria.
OT: buon giorno, oggi sarà giornata lunga, quindi vado a farmi una buona colazione poi torno in ufficio.

trallallero
28-07-2006, 07:52
Glielo avevo già suggerito, ma sembra non avere idea di cosa sia la fase di link e cosa voglia dire collegarsi alla funzione nella libreria.
OT: buon giorno, oggi sarà giornata lunga, quindi vado a farmi una buona colazione poi torno in ufficio.

(poi basta sennó s'incazza qualcuno :fiufiu: )
Buongiorno. Iniziano presto le 10 li da te :read: :D

Marco Giunio Silano
28-07-2006, 07:57
(poi basta sennó s'incazza qualcuno :fiufiu: )
Buongiorno. Iniziano presto le 10 li da te :read: :D


OT: Oggi è giorno di consegna, accidentaccio! Quindi le dieci esistono, ma saranno quelle della sera!

Tornado al 3d, se ho ancora memoria, dicevano che loro nn hanno né lib né dll, ma dei .c e dei .h che si sono create loro. Questa cosa non l'ho ben capita

trallallero
28-07-2006, 08:14
OT: Oggi è giorno di consegna, accidentaccio! Quindi le dieci esistono, ma saranno quelle della sera!
:eek:

Tornado al 3d, se ho ancora memoria, dicevano che loro nn hanno né lib né dll, ma dei .c e dei .h che si sono create loro. Questa cosa non l'ho ben capita
vabbé, se ancora interessate si rifarano vive ...

claori
28-07-2006, 08:46
Non siamo così ignoranti da non sapere cos'è il link.... :D
Abbiamo sempre programmato in Java sotto Windows e ora ci ritroviamo a programmare in Fedora con C! Quindi non abbiamo molta familiarità con l'ambiente che stiamo utilizzando!!
Il pacchetto con le librerie l'abbiamo scaricato on line e compilato seguento le istruzioni del Make! E abbiamo provato a inserire le librerie con #include.
Ma cmq anche compilando gli esempi forniti nel pacchetto insieme alle librerie abbiamo errori di compliazione. E ottentiamo gli stessi errori passandogli le librerie con il LD_LIBRARY_PATH o con il comando -l e la libreria (abbiamo anche provato con -L).
Abbiamo anche messo le librerie sia cartella in cui il compliatore va a prendere le librerie e sia nella cartella in cui si trovano gli esempi... Gliele abbiamo passate sia tra <> e sia tra ""....

trallallero
28-07-2006, 08:55
Non siamo così ignoranti da non sapere cos'è il link.... :D
Abbiamo sempre programmato in Java sotto Windows e ora ci ritroviamo a programmare in Fedora con C! Quindi non abbiamo molta familiarità con l'ambiente che stiamo utilizzando!!
Il pacchetto con le librerie l'abbiamo scaricato on line e compilato seguento le istruzioni del Make! E abbiamo provato a inserire le librerie con #include.
Ma cmq anche compilando gli esempi forniti nel pacchetto insieme alle librerie abbiamo errori di compliazione. E ottentiamo gli stessi errori passandogli le librerie con il LD_LIBRARY_PATH o con il comando -l e la libreria (abbiamo anche provato con -L).
Abbiamo anche messo le librerie sia cartella in cui il compliatore va a prendere le librerie e sia nella cartella in cui si trovano gli esempi... Gliele abbiamo passate sia tra <> e sia tra ""....
tra <> e "" non c'entra niente perché darebbe un altro errore.
Se non é troppo grande, zippa tutto e postalo o mandamelo via mail trallallerotrallalla@gmail.com
Ti faccio pagare poco dai :D
Peró se la mandi via mail avvertimi qui perché ... é una lunga storia.

claori
28-07-2006, 09:03
Va bene ti invio per posta il pacchetto con le librerie che devo installare.
Mi dai l'ok?

trallallero
28-07-2006, 09:06
Va bene ti invio per posta il pacchetto con le librerie che devo installare.
Mi dai l'ok?
no non serviva l'ok :D scusa mi sono espresso male.
Comunque ok :)