如果在編譯MFC程序的時候出現下列及類似的錯誤:
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已經在 LIBCMTD.lib(new.obj) 中定義
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已經在 LIBCMTD.lib(dbgdel.obj) 中定義
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) 已經在 libcpmtd.lib(newaop.obj) 中定義
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) 已經在 LIBCMTD.lib(delete2.obj) 中定義
解決方法如下:
項目屬性頁-》鏈接器-》輸入
做如下改動,注意順序
DEBUG:
附加依賴庫:uafxcwd.lib;LIBCMTD.lib;忽略特定默認庫:LIBCMTD.lib;uafxcwd.lib
RELEASE:
附加依賴庫:uafxcw.lib;LIBCMT.lib;
忽略特定默認庫:LIBCMT.lib;uafxcw.lib