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

 

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

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

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

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

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

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

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

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

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

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) 中定义

 

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

VS2005中运行时库不一致导致项目编译出问题_第1张图片

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

你可能感兴趣的:(VS2005中运行时库不一致导致项目编译出问题)