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)?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top