刚在试将程序从debug模式转到release模式,然后报错:
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) 中定义
Debug/MediateServer.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
在网上找了一轮也试了一轮,基本都是如下的解决方法:
项目--属性 ---连接器---输入
附加依赖项 空格Nafxcwd.lib Libcmtd.lib
忽略指定库 空格Nafxcwd.lib Libcmtd.lib
然后重新生成解决方案,可是改了之后发现说:找不到输入文件Nafxcwd.lib,又找了一轮,没找到简便的解决方法,许多方法推荐将这个Lib的绝对路径加到项目属性中去,觉得应该会有更简单的方法,然而找到了这个:
项目属性页-》链接器-》输入
做如下改动,注意顺序
附加依赖库:uafxcwd.lib;LIBCMTD.lib;忽略特定默认库:LIBCMTD.lib;uafxcwd.lib
这对应的是debug版本,如果对应release版本的话为:
附加依赖库:uafxcw.lib;LIBCMT.lib;
忽略特定默认库:LIBCMT.lib;uafxcw.lib
(去掉d即可)修改过后成功解决,解决方案原文链接地址:
http://www.voidcn.com/blog/lg1259156776/article/p-6243335.html