LNK2005 連線錯誤解決辦法

2021-08-25 15:12:58 字數 876 閱讀 3033

nafxcwd.lib(afxmem.obj) : error lnk2005: "void * __cdecl operator new(unsigned int)" (??2@yapaxi@z) 已經在 libcmtd.lib(new.obj) 中定義

nafxcwd.lib(afxmem.obj) : error lnk2005: "void __cdecl operator delete(void *)" (??3@yaxpax@z) 已經在 libcmtd.lib(dbgdel.obj) 中定義

nafxcwd.lib(afxmem.obj) : error lnk2005: "void * __cdecl operator new(unsigned int)" (??_u@yapaxi@z) 已經在 libcmtd.lib(new2.obj) 中定義

nafxcwd.lib(afxmem.obj) : error lnk2005: "void __cdecl operator delete(void *)" (??_v@yaxpax@z) 已經在 libcmtd.lib(delete2.obj) 中定義

原因:crt 庫對 new、delete 和 dllmain 函式使用弱外部鏈結。mfc 庫也包含 new、delete 和 dllmain 函式。這些函式要求先鏈結 mfc 庫,然後再鏈結 crt 庫。

解決辦法:

一種方法是強制鏈結器按照正確的順序鏈結庫。第二種方法是由您親自查詢導致問題的模組並糾正它。

1,專案--屬性 ---聯結器---輸入

附加依賴項 空格nafxcwd.lib libcmtd.lib

忽略指定庫 空格nafxcwd.lib libcmtd.lib

2, 專案--屬性 ---聯結器---命令列 輸入: /force:multiple

LNK2005 連線錯誤解決辦法

nafxcwd.lib afxmem.obj error lnk2005 void cdecl operator new unsigned int 2 yapaxi z 已經在 libcmtd.lib new.obj 中定義 nafxcwd.lib afxmem.obj error lnk2005 ...

LNK2005 連線錯誤解決辦法

nafxcwd.lib afxmem.obj error lnk2005 void cdecl operator new unsigned int 2 yapaxi z 已經在 libcmtd.lib new.obj 中定義 nafxcwd.lib afxmem.obj error lnk2005 ...

VS 編譯出現,LNK2005 連線錯誤解決辦法

1 nafxcwd.lib dllmodul.obj error lnk2005 dllmain 已經在 libcmtd.lib dllmain.obj 中定義 1 nafxcwd.lib afxmem.obj error lnk2005 void cdecl operator delete voi...