Ссылка на библиотеку, которая ссылается на библиотеку, на которую я уже ссылаюсь
Прости запутанный заголовок.
Настройка для этой проблемы заключается в следующем:
У меня есть библиотека с открытым исходным кодом, которую я встроил в кучу.libs (VTK, если вам интересно)
У меня есть библиотека, которая использует вышеупомянутую статическую библиотеку. Давайте назовем это Lib A.
У меня также есть приложение, которое использует вышеупомянутую библиотеку (то есть VTK) И также использует Lib A.
Во время сборки я получаю сообщение об ошибке компоновщика, сообщающее, что функция, вызванная из Lib A, уже определена в библиотеке, которая связана с приложением (ошибка: LNK2005)
Любые идеи о том, как исправить это за исключением переключения все, чтобы быть динамически связаны?
1 ответ
Хорошо. Я понял, что я делаю не так.
Lib A использовала статически построенную версию VTK, в то время как основное приложение связывалось с динамически связанной версией VTK.
Таким образом, проблема была в том, что у меня были одинаковые функции, определенные в.lib и.dll, что приводило к сбою компоновщика.