|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2006
Città: Vergate Sul Membro (MI)
Messaggi: 16538
|
[VC++]ERROR LNK2005
Come da titolo ricevo questo errore al termine della compilazione di alcuni file...
l'errore deriva da alcune funzioni, definite in un header, che viene richiamato da più sorgenti. qualcuno saprebbe dirmi come ovviare al problema? ho già usato la direttiva#pragma once, che in questo caso non aiuta.. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Dec 2008
Messaggi: 82
|
se non è il cassico problema dei pre-compiled headers, non hai qualche dettaglio in + ? proverei a commentare piano piano fino a vedere che include da problemi
__________________
Software house Manfriday |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jan 2006
Città: Vergate Sul Membro (MI)
Messaggi: 16538
|
Quote:
premetto che non si tratta di pre-compiled headers, perchè ho disabilitato questa opzione nelle impostazioni del progetto... cerco di spiegarlo in estrema sintesi: io ho cinque header. che possiamo chiamare head1.h head2.h head3.h head4.h main_head.h dove main_head.h include gli altri 4 headers. inoltre ho 5 file sorgenti. source1.cpp source2.cpp source3.cpp source4.cpp source5.cpp tutti e 5 i sorgenti includono soltanto il file main_head.h quando vado a compilare tutto ok, poi arrivato al linking mi viene restituito un errore di questo tipo >source2.obj : error LNK2005: "private: bool __thiscall mhr_dt::beacon_consistency(void)" (?beacon_consistency@mhr_dt@@AAE_NXZ) già definito in source1.obj e a quanto ho visto i membri a funzione che restituiscono l'errore, sono soltanto quelli definiti al di fuori della classe... Anche spostando i membri a funzione in un sorgente ad hoc le cose non cambiano... |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2006
Città: Vergate Sul Membro (MI)
Messaggi: 16538
|
Apparentemente ho risolto dichiarando inline i membri a funzione incriminati.
Qualcuno saprebbe spiegarmi se c'è una soluzione più elegante, e possibilmente l'origine del problema? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:06.




















