Конфликт связывания VC6 - PullRequest
3 голосов
/ 24 марта 2010

У меня есть старый c ++ проект, скомпилированный с VC6.

Мне нужно статически связать новую библиотеку для реализации новой функциональности.

К сожалению, новая библиотека определяет символ (то есть _inflate), который уже определен в ранее связанной статической библиотеке.

Конечно, я не могу избавиться ни от одной библиотеки, и, конечно, у меня нет доступа к исходному коду библиотеки.

Есть ли способ избежать ошибки компоновщика (LNK2005)?

1 Ответ

3 голосов
/ 24 марта 2010

Если вы знаете, что две версии _inflate идентичны или, по крайней мере, «совместимы», то вы можете использовать опцию / FORCE: Multiple linker , чтобы заставить его игнорировать конфликты имен.

Конечно, если он каким-либо образом ссылается на версию этого кода, которая «несовместима», это может привести к неопределенному поведению.

...