VS2005中运行时库不一致致使项目编译出问题

 

个人工程中三个项目,编译其中的lib工程时是成功的,可是编译依赖于lib工程的第二个工程老出错,debug

msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "..........code

LIBCMTD.lib(setlocal.obj) : error LNK2005: __configthreadlocale 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义it

1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: _malloc 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义编译

1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: _realloc 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义table

1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: _free 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义thread

1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义bug

1>LIBCMTD.lib(tidtable.obj) : error LNK2005: __encode_pointer 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义im

1>LIBCMTD.lib(tidtable.obj) : error LNK2005: __decode_pointer 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义error

1>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义项目

1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义

 

找了半天缘由,发现工程的运行时库不一致。调整了以后就不报这个错误了。

把运行时库调整一致就OK了。

相关文章
相关标签/搜索