VS中解决LIBCMTD.lib和uafxcwd.lib冲突(uafxcw.lib LIBCMT.lib冲突)
2017-02-09 14:04
295 查看
如果在编译MFC程序的时候出现下列及类似的错误:
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。
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。
相关文章推荐
- VS中解决LIBCMTD.lib和uafxcwd.lib冲突(uafxcw.lib LIBCMT.lib冲突)
- 关于VS200X 中 libcmtd.lib冲突 解决办法
- libcmtd.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSVCRTD.dll) 编译错误解决方法
- libcmtd.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSVCRTD.dll) 编译错误解决方法
- greta的问题及解决: LIBCMTD.lib(_wctype.obj) : error LNK2005: _iswspace already defined in xxx.obj
- VC 链接时new和delete运算符已经在 LIBCMTD.lib 中定义解决方法
- libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 错误解决办法
- vs 已经在 LIBCMTD.lib中定义 报错解决方案
- vs中运行项目出现“*** 已经在libcmtd.lib中定义”的错误
- nafxcwd.lib与libcmtd.lib冲突解决办法
- LIBCMTD.lib与libcpmtd冲突的解决方法。
- 【VS开发】uafxcwd.lib(afxmem.obj) : error LNK2005: 已经在 LIBCMTD.lib(new.obj) 中定义错误解决方案
- nafxcwd.lib和LIBCMTD.lib符号定义冲突解决办法(配图)
- 已经在 LIBCMTD.lib(dbgdel.obj) 中定义 解决
- LIBCMTD.lib与libcpmtd冲突的解决方法。
- LIBCMTD.lib与libcpmtd冲突的解决方法。
- 关于VS编译时出现无法打开libcmrt.lib,libc.lib等系统常见库文件的解决办法
- already defined in LIBCMTD.lib(new.obj)
- 无法打开文件"LIBC.lib"问题解决
- VC6错误:libcmtd.lib(ccccc.obj) :error lnk2005:xxxx already defined in libcd.lib(ccccc.obj)