[转]nafxcwd.lib error LNK2005的解决方法。

转载 2010年06月19日 21:50:00

nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMTD.lib(new.obj) 中定义
nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已经在 LIBCMTD.lib(dbgdel.obj) 中定义
nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) 已经在 LIBCMTD.lib(new2.obj) 中定义
nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) 已经在 LIBCMTD.lib(delete2.obj) 中定义

 

原因:

CRT 库对 newdelete 和 DllMain 函数使用弱外部链接。MFC 库也包含 newdelete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。

 

解决办法:

一种方法是强制链接器按照正确的顺序链接库。第二种方法是由您亲自查找导致问题的模块并纠正它。

1,

项目--属性 ---连接器---输入  

                              附加依赖项    空格Nafxcwd.lib Libcmtd.lib

                              忽略指定库    空格Nafxcwd.lib Libcmtd.lib

 

2, 项目--属性 ---连接器---命令行 输入: /FORCE:MULTIPLE

 

可参考在线msdn:http://support.microsoft.com/kb/148652/zh-cn


相关文章推荐

nafxcwd.lib与libcmtd.lib冲突解决办法

工程使用MTD编译时出现下列错误: nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned ...

VC: Nafxcwd.lib(appcore.obj) : error LNK2001: 无法解析的外部符号___argv

错误: Nafxcwd.lib(appcore.obj) : error LNK2001:无法解析的外部符号___argv Nafxcwd.lib(appcore.obj) : error LNK2...

nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" already defined in LIBCMTD.lib(new.obj)

zz http://www.javaworld.com.tw/roller/qing/category/Win32最近在VC 6.0上作業,有幾個地方都遇到一個十分惱人的錯誤。就是出現下述的錯誤:Li...

vs2013 error LNK2005 已经在***.obj中定义

(1)错误案例:在写日志程序中出现,工程是MFC程序(注:win32控制台应用程序,不会出现这种错误,当然是不支持MFC库的那种) (2)错误原因:如下能看出一点眉目,重定义了.在使用***.o...

vs2010下,出现链接器工具错误 LNK1104“无法打开文件nafxcw.lib”,或者类似的错误

vs2010下,本来运行程序一切正常,但是不小心改了下linker里面的内容,结果出现一些windows系统里面的文件调用不了,无奈之下,度娘了下,总结了一些方法, 方法1:tools---opti...

LINK : fatal error LNK1104: cannot open file "nafxcwd.lib"

Open your MFC project.From the Project menu, click Settings.In the Settings For combo box, select Al...
  • debugm
  • debugm
  • 2011年12月14日 20:58
  • 2013

LINK : fatal error LNK1104: cannot open file "nafxcwd.lib"

编译时出现此问题,说明将项目设置设为了“在静态库中使用MFC”。Microsoft Visual C++ 6.0标准版不支持静态链接到MFC库。解决方法为使用动态链接到MFC库。具体操作为:1.>打开...
  • dadaadao
  • dadaadao
  • 2010年11月11日 12:40
  • 11042

VS2013常见错误排查

1. CMemDC重定义 1>nafxcwd.lib(afxglobals.obj) : error LNK2005: "public: virtual __thiscall CMemDC::~CMe...

LINK : fatal error LNK1104: 无法打开文件“opencv_calib3d240d.lib”解决方法

VS2010环境下安装并配置OpenCV的文章有很多,在此向大家推荐两篇,本人都是亲测有效的。 Opencv1.0+VC6.0安装及环境配置 http://blog.csdn.net/haiz...

Error LNK2005解决方法

编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[转]nafxcwd.lib error LNK2005的解决方法。
举报原因:
原因补充:

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