CRT和MFC库的冲突--lnk2005错误
来源:互联网 发布:四川航天金穗Java开发 编辑:程序博客网 时间:2024/04/29 15:29
症状
当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误之一:
nafxcwd.lib(afxmem.obj) :error LNK2005:
"void * __cdecl operator new(unsigned int)"(??2@YAPAXI@Z) already
defined in LIBCMTD.lib(new.obj)
nafxcwd.lib(afxmem.obj) :error LNK2005:
"void __cdecl operator delete(void *)"(??3@YAXPAX@Z) already defined
in LIBCMTD.lib(dbgnew.obj)
nafxcwd.lib(afxmem.obj) :error LNK2005:
"void * __cdecl operator new(unsigned int,int,char const *,int)"
(??2@YAPAXIHPBDH@Z) already defined in LIBCMTD.lib(dbgnew.obj)
mfcs40d.lib(dllmodul.obj):error LNK2005:_DllMain@12 already defined in
MSVCRTD.LIB (dllmain.obj)
mfcs42d.lib(dllmodul.obj):error LNK2005:_DllMain@12 already defined in
msvcrtd.lib(dllmain.obj)
原因
CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。
解决方案:强制链接器按照正确的顺序链接库
微软提供的解决方案
选择:菜单“项目”-->“设置”->链接-->Input。
在第一行“对象/库模块”中最前面输入Nafxcwd.lib;Libcmtd.lib
在第二行“忽略库”框中,输入Nafxcwd.lib;Libcmtd.lib。
确定,重新链接,通过!
- CRT和MFC库的冲突--lnk2005错误
- CRT和MFC库的冲突--lnk2005错误
- 错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 解决 Visual C++2013 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
- 关于MFC库和CRT库冲突的分析
- MFC 出现error LNK2005错误的一种原因和解决办法
- 链接错误LNK2005 在MFC库之前链接C运行时库导致的链接错误
- WIN7下硬盘安装WIN7和Ubuntu 10.04双系统成功
- N个元素中取M个的全组合
- ios 函数
- 《C程序设计语言》句读 20130123
- 收10元帮民工订票被拘 冤还是不冤??我来出主意~
- CRT和MFC库的冲突--lnk2005错误
- JSTL fmt 格式化时间
- 素数打表
- Bluez SPP实现代码分析
- Android蓝牙开发
- 比较全面的gdb调试命令
- emacs命令积累
- Android ListView的Item中含有EditText,获取EditText里面的值并且刷新ListView值不改变
- Web开发的那点事--软件复用