error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义
【错误信息】:
mfcs90ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)
【分析原因】:
简单地说,就是产生错误的工程同时使用了CRT库和MFC库,并且链接顺序不对,CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。
【解决方法】:
在“项目 -> 属性 -> 链接器 -> 命令行”栏中,输入 /verbose:lib编译参数,这样,就可以在output窗口看到链接时搜索的库的先后顺序,对于本问题,你一定可以看到类似下面的先后输出:
> Searching D:\vs2008\VC\lib\MSVCRTD.lib: > Searching D:\vs2008\VC\atlmfc\lib\mfcs90ud.lib:
由此可以看出,默认情况下,先链接了CRT库MSVCRTD.lib,然后链接的是MFC的库mfcs90ud.lib,因此,需要强制改变一下它们的链接顺序。
选择“项目 -> 属性 -> 链接器 -> 输入”栏,在其中的“忽略特定的库”这一栏输入:MSVCRTD.lib mfcs90ud.lib, 然后,在“附加库”这一栏中输入: mfcs90ud.lib MSVCRTD.lib 问题即可解决。
对于这类问题,错误信息 mfcs90ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)
有两个关键点,谁报错(mfcs90ud.lib),与谁冲突(MSVCRTD.lib),根据这两个库来寻找问题根源
error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义相关推荐
- mfcs100ud.lib(dllmodul.obj):error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义
mfcs100ud.lib(dllmodul.obj):error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义 简单地说,就是产生错误的 ...
- VS2010编译静态链接MFC的OCX遇到的问题:nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 已经在 LIBCMTD.lib(dllm
打开工程属性页,配置属性->链接器->输入,忽略特定默认库添加 LIBCMTD.lib;nafxcwd.lib 附加依赖项添加 nafxcwd.lib;LIBCMTD.lib 目的是调整依 ...
- error LNK2005: _DllMain@12 already defined in MSVC
error LNK2005: _DllMain@12 already defined in MSVC 方案一. 编程中经常能遇到LNK2005错误--重复定义错误,其实LNK2005错误并不是一个很难 ...
- error LNK2005: _DllMain@12 already defined in MSVC 2009-10-29 17:49
error LNK2005: _DllMain@12 already defined in MSVC 方案一. 编程中经常能遇到LNK2005错误--重复定义错误,其实LNK2005错误并不是一个很难 ...
- error LNK2005: _DllMain@12 already defined in xxx 的应对
error LNK2005: _DllMain@12 already defined in MSVC 方案一. 编程中经常能遇到LNK2005错误--重复定义错误,其实LNK2005错误并不是一个很难 ...
- ZZmsvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义
FROM: http://blog.csdn.net/sptoor/article/details/6203376 很久没有写程式设计入门知识的相关文章了,这篇文章要来谈谈程式库 (Library) ...
- msvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义
转载 很需要补充的知识. 可惜网络阅读一直不是强项. 目前实在有点看不进去. 先保存下来吧... 牛到连评论都是贼深奥滴! 很久没有写程式设计入门知识的相关文章了,这篇文章要来谈谈程式库 (Libra ...
- uafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in main.obj
如果出现这种错误:"uafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in main.obj &q ...
- nafxcw.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined
如果开始用了一个ATL的Dll工程,然后为了在这个dll工程里面使用MFC, 在里面加入MFC支持 在stdafx.h的atlbase.h前面加入 #include <afxwin.h> ...
最新文章
- Java中Thread中的实例方法_Java多线程2:Thread中的实例方法
- 自动化监控--zabbix-get安装使用详解
- HDU1421 搬寝室
- System Test GIS压力测试利器
- 读tomcat源码,随笔类图
- MySQL 事物隔离级别
- 台式机dp接口_精品导购:你想要的商务台式机 都在这里了!
- python如何给一组数据打标签_给数据集打标签python代码实现(1)
- linux怎么添加中文服务器,linux不支持中文怎么办_网站服务器运行维护
- java骨架_基于Mat变换的骨架提取Java
- 机器学习入门笔记(二):线性模型
- 什么样的人适合学编程?
- 局部替换算法最小生成树
- java 串行_java串行化
- 金融相关计算机面试题,银行及其他金融企业笔试和面试经验
- 数据的写出(FileWriter)
- EVE-NG模拟器简述
- 上海领科作为A-Level领军学校,为什么要开设IB课程?
- 商米机V2和V1内置打印机说明
- C++ qsort用法