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

标签 c++ libcurl linker-errors msvcrt

自从我编写任何使用 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/

相关文章:

c++ - 无符号整数的快速无分支最大值

android - no concrypt_openjdk_jni in java.library.path 错误如何解决?

c++ - 从继承自模板的 dll 导出类

仅用于第一个实例的 C++ 构造函数?

c++ - 通过宏内联函数

c++ - 如何判断 const char* 是否指向有效字符串?

php - 使用 PHP Curl 库的持久/保持事件 HTTP?

c++ - 通过 telnet 通信

c - 在 libcurl 中处理响应

c - pthread,Windows 上的 pthread,pthread 故障,链接器错误,msvc 2008/2010 上的 pthread 链接器错误