连接错误:
2>LIBCMT.lib(tidtable.obj) : error LNK2005: __encoded_null 已经在 msvcrt.lib(MSVCR100.dll) 中定义2>LIBCMT.lib(mlock.obj) : error LNK2005: __unlock 已经在 msvcrt.lib(MSVCR100.dll) 中定义
2>LIBCMT.lib(mlock.obj) : error LNK2005: __lock 已经在 msvcrt.lib(MSVCR100.dll) 中定义
2>LIBCMT.lib(winxfltr.obj) : error LNK2005: ___CppXcptFilter 已经在 msvcrt.lib(MSVCR100.dll) 中定义
2>LIBCMT.lib(crtheap.obj) : error LNK2005: __malloc_crt 已经在 msvcrt.lib(MSVCR100.dll) 中定义
2>LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e 已经在 msvcrt.lib(MSVCR100.dll) 中定义
2>LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit 已经在 msvcrt.lib(MSVCR100.dll) 中定义
2>LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) 已经在 msvcrt.lib(MSVCR100.dll) 中定义
2>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a 已经在 msvcrt.lib(cinitexe.obj) 中定义
2>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z 已经在 msvcrt.lib(cinitexe.obj) 中定义
2>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a 已经在 msvcrt.lib(cinitexe.obj) 中定义
2>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z 已经在 msvcrt.lib(cinitexe.obj) 中定义
在Debug环境正常,转到Release环境编译,就会有链接错误,
仔细分析是使用了别人的lib,且是低版本,被Vs2010转过码。。。
看这个静态库LIBCMT.lib是libc的mt版,猜想是编译设置的问题,果然:
把运行库改为/MD,问题解决。。。