如果在编译MFC程序的时候出现下列及类似的错误(new 、new[] 、delete 、delete[] 错误):

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

错误原因是由于这二个库有各自的new和delete,这是冲突的,需要指定顺序。

正确加载库的顺序是uafxcw.lib Libcmtd.lib,而默认的是Libcmtd.lib  uafxcw.lib。

https://blog.csdn.net/whatday/article/details/53188029/

注意顺序、注意在活动配置中修改

 

原文地址:http://www.cnblogs.com/sinceret/p/16898608.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性