簡體   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