使用STL,远离异常,VS2005
来源:互联网 发布:淘宝店铺认证后怎么办 编辑:程序博客网 时间:2024/04/18 16:30
编译chrome的代码时(xp sp3, vs2008,曾经在win7下编译过,未出现此问题,不知道为什么),发现了std::exception重复定义的问题,让我很抓狂。后来搜索到了这篇文章,发现只要在出现链接错误的.cc文件中加入着两行就可以了:
#define _HAS_EXCEPTIONS 0
#define _STATIC_CPPLIB
#define _STATIC_CPPLIB
原文:
--------------------------------------------------------------------------------------------------------------------------------
uafxcwd.lib(afxmem.obj) : error LNK2005
uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)
uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)
uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMTD.lib(delete2.obj)
原因:
CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。
当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误。
解决方法:
强制链接器按照正确的顺序链接库!
项目->属性->链接器->输入:附加依赖项添加 uafxcwd.lib
问题解决!
注意:uafxcwd.lib 库是 Debug 版本的,Release 版本的是 uafxcw.lib
uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)
uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)
uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMTD.lib(delete2.obj)
原因:
CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。
当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误。
解决方法:
强制链接器按照正确的顺序链接库!
项目->属性->链接器->输入:附加依赖项添加 uafxcwd.lib
问题解决!
注意:uafxcwd.lib 库是 Debug 版本的,Release 版本的是 uafxcw.lib
0 0
- 使用STL,远离异常,VS2005
- vs2005 c++ heap使用push_head()异常invalid heap(bug)
- STL异常
- VS2005(C#)异常解决方案
- vs2005 不报异常
- VS2013、VS2005都是MD,跨dll使用stl的string崩溃问题
- STL异常规定【】
- STL容器类异常
- vs2005 使用点滴
- 一些vs2005使用经验
- VS2005(VC8) 使用 Boost
- 第一次使用ArcEngine92+vs2005
- VS2005上使用ACE
- 免费使用VS2005
- VS2005快捷键使用
- VS2005 SP1 使用心得
- cppunit vs2005 使用
- vs2005快捷键使用
- java学习之三大结构
- ListView开发总结笔记
- 手势学习总结记录
- C语言 - 将任意一个数的奇数位逆序,组成新数
- hdu 4003 Find Metal Mineral(树形DP+分组背包,每个物品必须只能选一次)
- 使用STL,远离异常,VS2005
- 浅谈java单列模式
- 如何推广自己的网站效果更好
- 当恢复sql server bak文件时,原始的用户无法删除
- 算术运算符
- 为什么交易系统不能出现大事务?
- 题目1122:吃糖果
- Virtual Judge Contest 1-B-C
- git使用过程问题总结