10 Febbraio, 2012, 16:00:06 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia: È uscito il numero 4 della Newsletter italiana di Ubuntu! Lo trovate a questo indirizzo. Buona lettura... e partecipate al sondaggio!
 
   Indice   FAQ Aiuto Regolamento Ricerca Accedi Registrati  

Wiki
Programmazione   •   Editor di Testo   •   Linguaggio Bash
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: [ RISOLTO ] - Linkare una propria libreria costituita da piu file  (Letto 65 volte)
0 Utenti e 1 Utente non registrato stanno visualizzando questa discussione.
alex180788
Novello Novizio

Non Connesso Non Connesso

Messaggi: 114

Media messaggi


Mostra profilo
« inserita: 06 Febbraio, 2012, 20:23:36 »

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 Smiley
« Ultima modifica: 07 Febbraio, 2012, 19:48:15 da alex180788 » Registrato
Big-Mac
Novello Novizio

Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 213

Media messaggi



Mostra profilo
« Risposta #1 inserita: 07 Febbraio, 2012, 14:05:04 »

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

Codice:
/usr/lib

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

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

ti semplificherebbe non poco la vita.Smiley e sopratutto non avresti bisogno di linkare le librerie con il comando -l dato che di default gcc cerca proprio in queste cartelle.
Registrato
alex180788
Novello Novizio

Non Connesso Non Connesso

Messaggi: 114

Media messaggi


Mostra profilo
« Risposta #2 inserita: 07 Febbraio, 2012, 19:47:47 »

Grazie mille! ho risolto proprio con una libreria dinamica il problema era che non sapevo come usarle....
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a: