uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operatornew(unsigned int)" (??2@YAPAXI@Z) a

转载 2012年03月27日 10:36:26

uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operatornew(unsigned int)" (??2@YAPAXI@Z) already defined inLIBCMTD.lib(new.obj)
uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operatordelete(void *)" (??3@YAXPAX@Z) already defined inLIBCMTD.lib(dbgdel.obj)
uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operatordelete[](void *)" (??_V@YAXPAX@Z) already defined inLIBCMTD.lib(delete2.obj)

原因:
CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。
当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005错误。

解决方法:
强制链接器按照正确的顺序链接库!
项目->属性->链接器->输入:附加依赖项添加 uafxcwd.lib

问题解决!

注意:uafxcwd.lib 库是 Debug 版本的,Release 版本的是uafxcw.lib



相关文章推荐

【链接库出错】:error LNK2005: "void __cdecl operator ***(void *)" (??3@YAXPAX@Z) 已经在xxxx.lib中定义

error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)  已经在 LIBCMTD.lib(dbgdel.obj) 中定...

error LNK2001: 无法解析的外部符号 "void * __cdecl operator new(unsigned int)"

error LNK2001: 无法解析的外部符号 "void * __cdecl operator new(unsigned int)" Posted on 2005-03-18 15:09 j...

关于这样的错误 libcpmtd.lib(string.obj) : error LNK2005: "public: void __thiscall

关于这样的错误 libcpmtd.lib(string.obj) : error LNK2005: "public: void __thiscall
  • cay22
  • cay22
  • 2011年05月12日 20:05
  • 11030

error LNK2001: 无法解析的外部符号 “unsigned int __cdecl upx_adler32(void const *,unsigned int,unsigned int)”

转自VC错误:http://www.vcerror.com/?p=1413 问题描述: 把upx源码的exe工程改造成了一个lib库文件,编译了一个exe调用lib库文件中的函数,结果ex...

【error】LNK2005: already defined in LIBCMTD.lib(typinfo.obj)

转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7568333 这个问题的来源是这样的,我想要静态编译发布我程序,就是Runtime ...

error LNK2005: __cinit already defined in libcmt.lib(crt0dat.obj)

用静态库去编译,若出现下面错误:LIBC.lib(crt0dat.obj) : error LNK2005: __cinit already defined in libcmt.lib(crt0dat...
  • jixuju
  • jixuju
  • 2011年06月11日 15:27
  • 1137

error LNK2005: 已经在 libcmtd.lib(dbgheap.obj) 中定义

error LNK2005: 已经在 libcmtd.lib(dbgheap.obj) 中定义

error LNK2005: _atoi already defined in libcmtd.lib(atox.obj)

error LNK2005: _getenv already defined in LIBCMTD.lib(getenv.obj) 今天在编译vc工程时出现的错误,并在网上找到了解决方法,有类似...

ZZmsvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义

很久没有写程式设计入门知识的相关文章了,这篇文章要来谈谈程式库 (Library) 连结,以及关于 MSVC 与 CRT 之间的种种恩怨情仇。如果你使用的作业系统是 Linux、Mac 或其他非 Wi...
  • sptoor
  • sptoor
  • 2011年02月23日 20:09
  • 3654
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operatornew(unsigned int)" (??2@YAPAXI@Z) a
举报原因:
原因补充:

(最多只允许输入30个字)