梦幻DUO的游戏开发之路

“学者们都是很单纯的,如果他们不单纯的话,戏剧般的灵感就不会造访他们了。” ——东野圭吾...

nafxcw.lib与LIBCMT.lib在vs2008中链接冲突解决方案

1>正在链接…
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void __cdecl operator delete(void *)” (??3@YAXPAX@Z) 已经在 LIBCMT.lib(delete.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new[](unsigned int)” (??_U@YAPAXI@Z) 已经在 LIBCMT.lib(new2.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void __cdecl operator delete[](void *)” (??_V@YAXPAX@Z) 已经在 LIBCMT.lib(delete2.obj) 中定义
1>d:\XXXXXXXX\Test.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
解决方法: 参见 http://support.microsoft.com/kb/148652/zh-cn

原因在于nafxcw和LIBCMT冲突了, 解决方法就是先link nafxcw.lib即可。

具体操作方法: 工程属性 “连接器”->”输入”->”附加依赖项”里面输入”nafxcw.lib”,这样VC2008编译时会先链接nafxcw.lib,问题就解决了。

补充一句:这是在使用静态MFC库时, 常常出现的错误。 一般要么是通过改为使用动态MFC库,要么通过上面的方法来解决。

阅读更多
上一篇QTCreator项目转移到VS项目步骤、中文乱码解决方案
下一篇华硕笔记本 FX50J Fn热键无效
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭