Linker Tools Error LNK2005 symbol already defined in object The given symbol, displayed in its decorated form, was multiply defined.One of the following may be a cause: The most common cause of this error is accidentally linking with both the single-threaded and multithreaded libraries. Ensure that the application project file includes only the appropriate libraries and that any third-party libraries have appropriately created single-threaded or multithreaded versions.
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _fopen 已经在 libcmtd.lib(fopen.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _fclose 已经在 libcmtd.lib(fclose.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _fread 已经在 libcmtd.lib(fread.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _fwrite 已经在 libcmtd.lib(fwrite.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _fseek 已经在 libcmtd.lib(fseek.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _ftell 已经在 libcmtd.lib(ftell.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _fflush 已经在 libcmtd.lib(fflush.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _fputc 已经在 libcmtd.lib(fputc.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _getc 已经在 libcmtd.lib(fgetc.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _free 已经在 libcmtd.lib(dbgheap.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _malloc 已经在 libcmtd.lib(dbgheap.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _floor 已经在 libcmtd.lib(floor_pentium4.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _ceil 已经在 libcmtd.lib(ceil_pentium4.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _strncpy 已经在 libcmtd.lib(strncpy.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _calloc 已经在 libcmtd.lib(dbgheap.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _realloc 已经在 libcmtd.lib(dbgheap.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _strncmp 已经在 libcmtd.lib(strncmp.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _sprintf 已经在 libcmtd.lib(sprintf.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _isprint 已经在 libcmtd.lib(_ctype.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _abort 已经在 libcmtd.lib(abort.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _fprintf 已经在 libcmtd.lib(fprintf.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _gmtime 已经在 libcmtd.lib(gmtime.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _exit 已经在 libcmtd.lib(crt0dat.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _sscanf 已经在 libcmtd.lib(sscanf.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _getenv 已经在 libcmtd.lib(getenv.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __assert 已经在 libcmtd.lib(assert.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _memmove 已经在 libcmtd.lib(memmove.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _qsort 已经在 libcmtd.lib(qsort.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _rand 已经在 libcmtd.lib(rand.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _strstr 已经在 libcmtd.lib(strstr.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _vsprintf 已经在 libcmtd.lib(vsprintf.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __isctype 已经在 libcmtd.lib(isctype.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _strrchr 已经在 libcmtd.lib(strrchr.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _atoi 已经在 libcmtd.lib(atox.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _atof 已经在 libcmtd.lib(atof.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _strchr 已经在 libcmtd.lib(strchr.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _vfprintf 已经在 libcmtd.lib(vfprintf.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _strtok 已经在 libcmtd.lib(strtok.obj) 中定义
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __open 已经在 libcmtd.lib(open.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __unlink 已经在 libcmtd.lib(unlink.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __setmode 已经在 libcmtd.lib(setmode.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __read 已经在 libcmtd.lib(read.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __write 已经在 libcmtd.lib(write.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __lseek 已经在 libcmtd.lib(lseek.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __close 已经在 libcmtd.lib(close.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __strdup 已经在 libcmtd.lib(strdup.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __CrtDbgReport 已经在 libcmtd.lib(dbgrpt.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __resetstkoflw 已经在 libcmtd.lib(resetstk.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _wcscpy 已经在 libcmtd.lib(wcscat.obj) 中定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _fopen 已在 libcmtd.lib(fopen.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _fclose 已在 libcmtd.lib(fclose.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _fread 已在 libcmtd.lib(fread.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _fwrite 已在 libcmtd.lib(fwrite.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _fseek 已在 libcmtd.lib(fseek.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _ftell 已在 libcmtd.lib(ftell.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _fflush 已在 libcmtd.lib(fflush.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _fputc 已在 libcmtd.lib(fputc.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _getc 已在 libcmtd.lib(fgetc.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _free 已在 libcmtd.lib(dbgheap.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _malloc 已在 libcmtd.lib(dbgheap.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _floor 已在 libcmtd.lib(floor_pentium4.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _ceil 已在 libcmtd.lib(ceil_pentium4.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _strncpy 已在 libcmtd.lib(strncpy.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _calloc 已在 libcmtd.lib(dbgheap.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _realloc 已在 libcmtd.lib(dbgheap.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _strncmp 已在 libcmtd.lib(strncmp.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _sprintf 已在 libcmtd.lib(sprintf.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _isprint 已在 libcmtd.lib(_ctype.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _abort 已在 libcmtd.lib(abort.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _fprintf 已在 libcmtd.lib(fprintf.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _gmtime 已在 libcmtd.lib(gmtime.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _exit 已在 libcmtd.lib(crt0dat.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _sscanf 已在 libcmtd.lib(sscanf.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _getenv 已在 libcmtd.lib(getenv.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __assert 已在 libcmtd.lib(assert.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _memmove 已在 libcmtd.lib(memmove.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _qsort 已在 libcmtd.lib(qsort.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _rand 已在 libcmtd.lib(rand.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _strstr 已在 libcmtd.lib(strstr.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _vsprintf 已在 libcmtd.lib(vsprintf.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __isctype 已在 libcmtd.lib(isctype.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _strrchr 已在 libcmtd.lib(strrchr.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _atoi 已在 libcmtd.lib(atox.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _atof 已在 libcmtd.lib(atof.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _strchr 已在 libcmtd.lib(strchr.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _vfprintf 已在 libcmtd.lib(vfprintf.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _strtok 已在 libcmtd.lib(strtok.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(ti_inst.obj) : warning LNK4006: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已在 libcmtd.lib(typinfo.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(ti_inst.obj) : warning LNK4006: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已在 libcmtd.lib(typinfo.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __open 已在 libcmtd.lib(open.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __unlink 已在 libcmtd.lib(unlink.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __setmode 已在 libcmtd.lib(setmode.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __read 已在 libcmtd.lib(read.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __write 已在 libcmtd.lib(write.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __lseek 已在 libcmtd.lib(lseek.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __close 已在 libcmtd.lib(close.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __strdup 已在 libcmtd.lib(strdup.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __CrtDbgReport 已在 libcmtd.lib(dbgrpt.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __resetstkoflw 已在 libcmtd.lib(resetstk.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: _wcscpy 已在 libcmtd.lib(wcscat.obj) 中定义;已忽略第二个定义
MSVCRTD.lib(MSVCR71D.dll) : warning LNK4006: __setmbcp 已在 libcmtd.lib(mbctype.obj) 中定义;已忽略第二个定义
正在创建库 .\Debug/emule.lib 和对象 .\Debug/emule.exp
LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;使用 /NODEFAULTLIB:library
LINK : warning LNK4098: 默认库“mfc71d.lib”与其他库的使用冲突;使用 /NODEFAULTLIB:library
LINK : warning LNK4098: 默认库“mfcs71d.lib”与其他库的使用冲突;使用 /NODEFAULTLIB:library
.\Debug/emule.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
MSVCRTD.lib 这个是MFC的库
libcmtd.lib 这个应该是MSC一贯所用的基本库。
剩下的我就不知道了
这两个库会冲突。但是简单地忽略掉一个库,又会报很多错。
symbol already defined in object
The given symbol, displayed in its decorated form, was multiply defined.One of the following may be a cause:
The most common cause of this error is accidentally linking with both the single-threaded and multithreaded libraries. Ensure that the application project file includes only the appropriate libraries and that any third-party libraries have appropriately created single-threaded or multithreaded versions.