繁体   English   中英

Linker 由于已经定义的错误

[英]Linker Errors due to being Already Defined

自从我写任何使用 LibCurl 的 dll 插件以来已经过去了大约一年,但我决定今晚再开始一个。 不幸的是,我已经与同样的 linker 错误作斗争了将近 4 个小时,我完全迷失了。

我正在静态构建 LibCurl,它似乎在大多数情况下都很好,除了我收到以下 linker 错误。

1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _calloc already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _realloc already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _free already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _malloc already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: __strdup already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: __malloc_crt already defined in memoverride.obj

我努力了...

1) 由于 MSDN 说 LNK2005 是由此引起的,因此重新组织了我包含的库。

2) 通过 MSVC 应用程序重建 LibCurl 库,然后通过命令行工具。

3) 排除引起问题的库。

还有一堆我现在想不起来的事情。 谁能帮我提供一些关于如何解决这些问题的信息?

问题是 my.dll 是 /MT 而 libcurl 是 /MD。 另外,我最初阻止了“libcmt”,所以当我将 libcurl 切换到 /MT 时,它正在喷出错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM