VC6 conflitto che collega
-
22-09-2019 - |
Domanda
Ho un vecchio progetto di C ++ compilato con VC6.
Ho bisogno di collegare in modo statico una nuova libreria per implementare una nuova funzionalità.
Purtroppo la nuova libreria definire un simbolo (cioè _inflate) che è già definito in una libreria statica precedentemente collegato.
Naturalmente non riesco a sbarazzarsi di entrambi biblioteca, e, naturalmente, non ho accesso al codice sorgente della biblioteca.
C'è un modo per evitare l'errore di linker (LNK2005)?
Soluzione
Se si sa che le due versioni di _inflate sono identiche, o almeno "compatibile", quindi è possibile utilizzare il / FORCE:. linker opzione multipla per forzarlo a ignorare nome scontri
Naturalmente, se si collega a una versione di tale codice che è "incompatibile" in alcun modo potrebbe causare un comportamento indefinito.