Newsgroup: it.comp.lang.c
Titolo: Applicazione POP in C.

Volendo farmi un programma notificatore di email in arrivo in C ho 
scoperto l'esistenza di una libreria particolare "libspopc.h" che, 
unitamente ad altre (sys/types.h sys/socket.h netdb.h netinet/in.h),
permetterebbe di compilare qualcosa del genere. Mentre i binari allegati 
per dimostrazione al pacchetto (cercate con google) funzionano, non 
riesco a compilare i sorgenti. Ho il dubbio che qualcuna delle librerie 
da me citate sia assente o di versione inadatta; qualcuno di voi conosce 
un sistema per verificare l'esistenza e la funzionalità delle librerie 
che si vorrebbero includere senza andare a scartabellare tutta la 
directory /usr/include?

 directory /usr/include?
 
Non mi è chiaro il senso della domanda, inoltre hai citato degli header 
non delle librerie.
Cerca nella documentazione di libspopc, ci sarà qualche esempio. Se 
cerchi di usare qualche funzione senza includere l'header opportuno hai 
un errore per undefined symbol e di conseguenza sai quale header 
includere, in questo Google è amico.

Andrea D'Amore ha scritto:

Risolto compilando così: cc file -o file.c -lspopc
Naturalmente dopo aver copiato "lspopc.h" in /usr/include
e averlo richamato con "include <lspopc.h>".

 e averlo richamato con "include <lspopc.h>".
 
Non basta, devi anche aver copiato la libreria dove ld potesse trovarla.
 
Ad ogni modo non è qualcosa di cui dovresti occuparti, in genere i 
gestori pacchetti istallano header e librerie nei posti adeguati. Se 
istalli la libreria dai sorgenti con gli autotools vale lo stesso 
discorso, in genere vanno a posto da sé.
Questo per quanto riguarda l'istallazione, cioè il rendere _disponibile_ 
la libreria.
 
 
Quanto all'usarla è naturale che tu debba includere l'header e indicare 
di collegare la libreria.


Circa la differenza tra file.h e librerie credo di aver letto da qualche 
parte che si tratta di cose diverse di cui l'una richiama
l'altra. Però io ero arrivato a concepire come librerie solo i miei 
piccoli file.h in cui ho scritto diverse funzioni (e  dichiarazioni 
delle medesime) che assumono evidentemente tutti e due i ruoli allo 
stesso tempo (e luogo). A proposito, se in questo caso dovessero esserci
un lspopc.h più un file di (autentica) libreria "lspopc", non sono 
riuscito ancora a scoprire dove si trova. Dentro ci deve essere 
parecchio di interessante se poi permette alla fine di ricevere le email 
con un solo click. Adesso ricevo così ogni nove minuti notizie su tre 
caselle di posta. Riportano solo mittenti e oggetti ma sono sufficienti 
a decidere se cancellare o leggere. Un altro file allegato
al pacchetto legge le email, ma insieme al rispettivo header. La cosa è 
seccante e sto cercando di porre rimedio. Non ho ancora trovato un 
comando ad hoc ("Top" non è previsto dalla libreria).
Saluti.
 
 


`pkg-config` serve proprio per avere informazioni sulle librerie
installate nel sistema
 

 installate nel sistema
 
ovviamente e' un tool a supporto della compilazione, ma puo' servirti
per il tuo scopo ... 

 riuscito ancora a scoprire dove si trova.
 
Ti ha già risposto luka.
 
Ciao!

 Non basta, devi anche aver copiato la libreria dove ld potesse trovarla.
 
o usare gli appositi flag del compilatore per dirgli dove andare a
cercare...che in alcuni casi e' meglio che andare a copiare roba in
/usr/include e compagnia...
 
Ciao Jack
-- 
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?