错误 2 error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMTD.lib(new.obj) 中定义 uafxcwd.lib
错误 3 error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已经在 LIBCMTD.lib(dbgdel.obj) 中定义 uafxcwd.lib
错误 4 error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) 已经在 LIBCMTD.lib(delete2.obj) 中定义 uafxcwd.lib
一时也不知道怎么来的,上网查了一下,好像是什么弱链接,暂时没时间研究,不过,找到了解决方法,具体原因,等先把项目做完了再说。
解决方法:
强制链接器按照正确的顺序链接库!
1、 project->properties->Linker->Ignore Specific Library 添加 uafxcwd.lib Libcmtd.lib
2、 在Additional Dependencied添加uafxcwd.lib Libcmtd.lib
VS中文版:
1、 项目属性->链接器->输入: 忽略特定库中输入“uafxcwd.lib(uafxcw.lib)”
2、 在附加依赖项中输入“uafxcwd.lib(uafxcw.lib)”
这样就使得链接器先链接MFC库,再链接CRT库。