Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Impiegare funzioni definite in una libreria in un'altra.
Forum - C/C++ - Impiegare funzioni definite in una libreria in un'altra.

Avatar
Dany (Member)
Pro


Messaggi: 129
Iscritto: 03/05/2012

Segnala al moderatore
Postato alle 20:03
Venerdì, 12/10/2012
Salve, il problema stavolta credo sia abbastanza banale per voi.
Ho creato un progetto il quale è composto, oltre al main.cpp da svariate librerie.
Il fatto è che avrei la necessità di impiegare una funzione definita nella libreria "tizio.h" nella libreria "caio.h"(ambedue interne al progetto).
Solo che quando lo faccio il compilatore mi restituisce l'errore.
Allore ho incluso  tizio in caio facendo:
Codice sorgente - presumibilmente C/C++

  1. #include "tizio.h"
  2. /*(sono in caio.h)*/


Solo che mi restituisce come errore, Doppia definizione, ma non è vero! Avete una soluzione al mio problema?
Grazie in anticipo!:k:


PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 435
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 20:49
Venerdì, 12/10/2012
Il compilatore è già a conoscenza dell'esistenza di tizio.h, in teoria se tu nel main prima di importare caio.h hai importato tizio.h e in caio.h usi delle funzioni scritte in caio.h il tutto dovrebbe funzionare. Senza che in caio.h importi tizio.h.
Infatti è per questo che dice errore per doppia definizione.
Prova a togliere tizio.h in caio.h compila il progetto ed esegui, dovrebbe funzionare...


Bonny
PM Quote
Avatar
Saik (Normal User)
Pro


Messaggi: 117
Iscritto: 07/08/2011

Segnala al moderatore
Postato alle 21:29
Venerdì, 12/10/2012
Oppure se le librerie sono di tua proprietà puoi utilizzare le istruzione per il precompilatore.
Codice sorgente - presumibilmente C/C++

  1. #ifndef nome libreria
  2. #define nome libreria
  3.  
  4.        // codice dell'header
  5.  
  6. #endif



Ovviamente lo devi inserire nell'header :)

Ultima modifica effettuata da Saik il 12/10/2012 alle 21:30


Vivi e lascia vivere
PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 435
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 21:55
Venerdì, 12/10/2012
Esatto me l'ero scordato :k:


Bonny
PM Quote
Avatar
Dany (Member)
Pro


Messaggi: 129
Iscritto: 03/05/2012

Segnala al moderatore
Postato alle 14:19
Sabato, 13/10/2012
Grazie mille :):hail:


PM Quote
Avatar
Saik (Normal User)
Pro


Messaggi: 117
Iscritto: 07/08/2011

Segnala al moderatore
Postato alle 16:11
Sabato, 13/10/2012
Di niente


Vivi e lascia vivere
PM Quote