VC6 Linking Conflict
-
22-09-2019 - |
Pergunta
Eu tenho um projeto C ++ antigo compilado com o VC6.
Preciso vincular estaticamente uma nova biblioteca para implementar uma nova funcionalidade.
Infelizmente, a nova biblioteca define um símbolo (ou seja, inflato) que já está definido em uma biblioteca estática anteriormente vinculada.
É claro que não posso me livrar de nenhuma das bibliotecas e, é claro, não tenho acesso ao código -fonte da biblioteca.
Existe uma maneira de evitar o erro do vinculador (LNK2005)?
Solução
Se você sabe que as duas versões de _inflate são idênticas, ou pelo menos "compatíveis", você pode usar o /Force: opção de múltiplas ligantes forçá -lo a ignorar os confrontos de nome.
Obviamente, se vincular a uma versão desse código que é "incompatível" de qualquer maneira, poderá causar comportamento indefinido.