正在链接...
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _malloc 已经在 libcmt.lib(malloc.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _free 已经在 libcmt.lib(free.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _strncpy 已经在 libcmt.lib(strncpy.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _longjmp 已经在 libcmt.lib(longjmp.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _fprintf 已经在 libcmt.lib(fprintf.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _abort 已经在 libcmt.lib(abort.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _sprintf 已经在 libcmt.lib(sprintf.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _fread 已经在 libcmt.lib(fread.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _gmtime 已经在 libcmt.lib(gmtime.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _fwrite 已经在 libcmt.lib(fwrite.obj) 中定义
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _fflush 已经在 libcmt.lib(fflush.obj) 中定义
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmt.lib(typinfo.obj) 中定义
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 libcmt.lib(typinfo.obj) 中定义
LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;使用 /NODEFAULTLIB:library
Release/emule.exe : fatal error LNK1169: 找到一个或多个多重定义的符号

解决方案 »

  1.   

    重定义
    有可能工程的C++调试为多(单)线程
    而LIB库调试为单(多)线程,不统一导致的问题
      

  2.   

    kingzai 的话说的有道理,高手,我再看看
      

  3.   

    在project setting的c/c++页设置了code generation为 multithreaded,然后在link 页里添加了libcmt.lib,这样编译debug版本时还是默认使用了libcmtd.lib库,也可能造成上述冲突。把它改过来就行了
      

  4.   

    在project setting的c/c++页设置了code generation,换一下别的线程方式