PDA

View Full Version : [C] cdt eclipse, libreria in comune tra pių progetti


mdr268
16-12-2013, 20:36
Ciao a tutti, il mio problema dovrebbe essere abbastanza semplice e rapido.

Innanzi tutto sto programmando con Eclipse, Version: 3.8.1, e con il CDT Eclipse C/C++ Development Tools, Version: 8.1.2.

Ho due progetti Eclipse, diciamo ProgA e ProgB.
I due progetti fanno cose diverse, ma entrambi utilizzano la stessa libreria fatta da me libreria.h.
Per poterla utilizzare, mi serve una copia del file libreria.h e libreria.c in entrambe le cartelle dei progetti.

Io vorrei creare una cartella, ad esempio Common, dove mettere i due file libreria.h e libreria.c, per poi poterli utilizzare sia da ProgA che da ProgB.

Ho seguito un po' di guide online ma non riesco a farlo funzionare, mi da sempre qualche errore in compilazione.

La soluzione che mi sembra pių sensata č:
Project -> Properties -> C/C++ Build -> Settings, e alla voce GCC C Compiler->Includes aggiungere la cartella Common.

Questa č la soluzione corretta? C'č qualcuno che saprebbe darmi qualche dritta?

Grazie. :)

bancodeipugni
16-12-2013, 21:34
hai provato la cosa che hai detto ? gli errori di compilazione li fa lo stesso ? su tutti e 2 i programmi ? che errori sono ?

mdr268
16-12-2013, 21:44
Se compilo una volta da un singolo errore:
"make: *** No rule to make target `libreria.o', needed by `ProgA'. Stop."

Ma se poi ricompilo, mi segnala in rosso tutte le chiamate alle funzioni dichiarate e definite nei file libreria.h e libreria.c
Ad esempio:

make: *** [ProgA] Error 1 ProgA C/C++ Problem
undefined reference to `mia_funzione' main.c /ServiceNode line 66 C/C++ Problem

forse devo dirgli da qualche altra parte che anche Common č un path valido dove andare a pescare librerie...

bancodeipugni
16-12-2013, 21:51
ricordo che eclipse era un po' maledetto quando c'erano librerie sparse

addirittura c'era chi linkava le librerie dentra la cartella principale proprio per farla vedere come le altre e non creare casini