今天在编译工程时,出现了CRT库和MFC库编译时出现了点错误。
特把解决方案贴出来,备份,以免之后又出现类似问题。
1>Linking...
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in libcpmtd.lib(newaop.obj)
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMTD.lib(delete2.obj)
1>..\product\Debug\FileTransClientTest.exe : fatal error LNK1169: one or more multiply defined symbols found
微软官方解决方案:
http://support.microsoft.com/kb/148652
具体原因微软官方解释的很清楚。
解决方案为:
configuration properties -> linker ->additional dependencies:uafxcwd.lib Libcmtd.lib
configuration properties -> linker ->lgnore specific library:uafxcwd.lib Libcmtd.lib