【发布时间】:2011-06-18 00:42:41
【问题描述】:
我在我的 VC++ 项目中使用了两个不同的第三方库。当我编译它们时,它会给我链接错误。
我已经检查了每个库的示例应用程序。 第一个库(Lib1)的示例应用程序设置
- 1)在静态库中使用 MFC
- 2)多线程调试
第一个库 (Lib2) 的示例应用程序设置
- 1)在共享 dll 中使用 MFC
- 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)
任何解决方案如何让我的项目与这两个库一起编译。我没有这些库的源代码,所以我无法编译它们。
【问题讨论】:
标签: winapi visual-c++ shared-libraries linker-errors