Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top