Notizia:
  • Rilasciata Precise Pangolin 12.04. Per ottenerla, visitate questa pagina, oppure provate il tour dal vivo con un browser web moderno.
  • Nuovo forum di Ubuntu-it, l'annuncio. È consigliato aggiornare il proprio profilo e controllare la sezione Gruppo Forum per problemi noti.
  • Rilasciata la versione italiana di Precise Pangolin 12.04. Per maggiori informazioni, consultare questa discussione.
  • Il vincitore del Concorso desktop del mese di aprile è Jerico. L'elenco dei precedenti vincitori è qui.
  • È uscito il numero 17 della Newsletter italiana di Ubuntu. Lo trovate a questo indirizzo.
  • È uscito il numero 59 di Full Circle Magazine in italiano. Lo trovate a questo indirizzo.

[ RISOLTO ] - Linkare una propria libreria costituita da piu file

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

[ RISOLTO ] - Linkare una propria libreria costituita da piu file

Messaggioda alex180788 » lunedì 6 febbraio 2012, 21:23

Salve a tutti!.. tempo fa ho creato una libreria costituita da una serie di file di intestazione (.h) e una serie di sorgenti che implementano le funzioni definite per gli header..

adesso voglio creare un programma che usa questa libreria senza dover compilare quei sorgenti (che sono gia compilati)..
cioè quello che ho fatto finora è stato per esempio creare un sorgente esempio.c che si trovava nella stessa cartella dei sorgenti della libreria, inserire i sorgenti e gli header nel makefile e compilare il tutto...

quello che vorrei adesso è scrivere un programma in qualsiasi punto del filesystem ed utilizzare le funzioni di libreria aggiungendo a questo programma semplicemente

#include mioheader1.h
#include mioheader2.h
#include mioheader3.h
....
cioè quello che si fa con le librerie standard...


ci sto provando e mettendo i vari header nel makefile (-I/mialib/lib/directory_header1/ -I/mialib/lib/directory_header2/ ... ...)
compila perchè vede che le funzioni sono definite negli header...
il problema è che quando lo eseguo non trova l'implementazione delle funzioni (sostanzialmente i .o)...

spero di essere stato abbastanza chiaro.. grazie a quanti risponderanno :)
Ultima modifica di alex180788 il martedì 7 febbraio 2012, 20:48, modificato 1 volta in totale.
alex180788
Prode Principiante
 
Messaggi: 114
Iscrizione: settembre 2010

Re: [ C ] - Linkare una propria libreria costituita da piu file

Messaggioda Big-Mac » martedì 7 febbraio 2012, 15:05

prova inserendo le tue librerie(se sono compilate es. "libmia.so" )nella directory :

Codice: Seleziona tutto
/usr/lib


per compilare il programma comunque ti consiglierei di aggiungere i sorgenti delle librerie nella cartella:

Codice: Seleziona tutto
/usr/include
oppure in:
Codice: Seleziona tutto
/usr/local/include


ti semplificherebbe non poco la vita.:) e sopratutto non avresti bisogno di linkare le librerie con il comando -l dato che di default gcc cerca proprio in queste cartelle.
Avatar utente
Big-Mac
Prode Principiante
 
Messaggi: 213
Iscrizione: maggio 2009
Località: Roma
Distribuzione: Ubuntu 11.10 64bit
Desktop: GNOME Shell

Re: [ C ] - Linkare una propria libreria costituita da piu file

Messaggioda alex180788 » martedì 7 febbraio 2012, 20:47

Grazie mille! ho risolto proprio con una libreria dinamica il problema era che non sapevo come usarle....
alex180788
Prode Principiante
 
Messaggi: 114
Iscrizione: settembre 2010


Torna a Programmazione

Chi c’è in linea

Visualizzano questa pagina: crap0101, Eresia e 5 ospiti