gpt4 book ai didi

c++ - 由于已经定义而导致的链接器错误

转载 作者:行者123 更新时间:2023-11-28 03:48:03 31 4
gpt4 key购买 nike

自从我编写任何使用 LibCurl 的 .dll 插件以来已经大约一年了,但我决定今晚开始编写另一个插件。不幸的是,我现在已经与相同的链接器错误作斗争近 4 个小时了,我完全迷失了方向。

我正在静态构建 LibCurl,它在大多数情况下似乎没问题,除了我遇到以下链接器错误。

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) 排除导致问题的库。

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

最佳答案

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

关于c++ - 由于已经定义而导致的链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6788252/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com