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了。

相關文章
相關標籤/搜索