简体   繁体   中英

Linker Errors due to being Already Defined

It has been about a year since I wrote any.dll plugins that use LibCurl, but I decided to start on another one tonight. Unfortunately, I have been combating the same linker errors for almost 4 hours now, and I am completely lost.

I am statically building LibCurl, and it appears to be fine for the most part, except I am getting the following linker errors.

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

I have tried...

1) Reorganizing my included libs due to MSDN saying LNK2005 was caused by this.

2) Rebuilding the LibCurl lib through MSVC Application, then through the Command-Line tool.

3) Excluding the libs that are causing issues.

and a bunch of other things that I cannot even remember now. Can anyone help me out with some information as to how I can solve these?

Problem was my.dll was /MT while the libcurl was /MD. Also, I had initially blocked "libcmt", so when I was switching libcurl to /MT, it was spewing errors.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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