Я использую две разные сторонние библиотеки в своем проекте VC ++.Когда я их компилирую, это дает мне ошибки компоновки.
Я проверил примеры приложений с каждой из библиотек.Настройки примера приложения с первой библиотекой (Lib1)
- 1) Использование MFC в статической библиотеке
- 2) Многопоточная отладка
Настройки примераприложение с первой библиотекой (Lib2)
- 1) Использование MFC в общей dll
- 2) Многопоточная DLL
Я включаю первую библиотекув проекте, добавив
#pragma comment(lib, "./lib/abc.lib")
оператор
Вторая библиотека добавляется в настройки проекта, добавляя ее как Дополнительные зависимости.
Теперь она работает нормально, но когда я пытаюсь использоватьнекоторые функции из Lib1 получают ошибки, такие как
1> libcmtd.lib (tidtable.obj): ошибка LNK2005: __encode_pointer уже определен в msvcrtd.lib (MSVCR80D.dll) 1> libcmtd.lib (tidtable.obj): ошибка LNK2005: __decode_pointer уже определен в msvcrtd.lib (MSVCR80D.dll) 1> libcmtd.lib (dbgheap.obj): ошибка LNK2005: _malloc уже определена в msvcrtd.lib (MSVCR80D.dll) 1> libcmtd.lib (dbgheap.obj): ошибка LNK2005: _calloc уже определен в msvcrtd.lib (MSVCR80D.dll)
Любое решение, как сделать так, чтобы мой проект компилировался с обеими библиотеками.У меня нет исходного кода для этих библиотек, поэтому я не могу скомпилировать их.