error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义
2015-10-28 11:01
211 查看
本文主要分析和解决编译链接时产生的 LNK2005 错误。
【错误信息】:
mfcs90ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)
【分析原因】:
这篇文章:《在Visual C++中以错误的顺序链接CRT库和MFC库时出现LNK2005错误》详细分析和说明了产生这种错误的原因。
简单地说,就是产生错误的工程同时使用了CRT库和MFC库,并且链接顺序不对,CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。
【解决方法】:
在“项目 -> 属性 -> 链接器 -> 命令行”栏中,输入 /verbose:lib编译参数,这样,就可以在output窗口看到链接时搜索的库的先后顺序,对于本问题,你一定可以看到类似下面的先后输出:
由此可以看出,默认情况下,先链接了CRT库MSVCRTD.lib,然后链接的是MFC的库mfcs90ud.lib,因此,需要强制改变一下它们的链接顺序。
选择“项目 -> 属性 -> 链接器 -> 输入”栏,在其中的“忽略特定的库”这一栏输入:MSVCRTD.lib mfcs90ud.lib, 然后,在“附加库”这一栏中输入: mfcs90ud.lib MSVCRTD.lib 问题即可解决。
来源:/article/4215900.html
http://wanglimin2004.blog.163.com/blog/static/1154884982012393174875/
【错误信息】:
mfcs90ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)
【分析原因】:
这篇文章:《在Visual C++中以错误的顺序链接CRT库和MFC库时出现LNK2005错误》详细分析和说明了产生这种错误的原因。
简单地说,就是产生错误的工程同时使用了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 问题即可解决。
来源:/article/4215900.html
http://wanglimin2004.blog.163.com/blog/static/1154884982012393174875/
相关文章推荐
- 双击jar运行main主函数实现-fatJAR
- ubuntu12.04 gedit出错:Failed to connect to the session manager
- 【 error LNK2005: "class QSemaphore freeBytes" (?freeBytes@@3VQSemaphore@@A) 已经在 main.obj 中定义】
- Daily Srum 10.28
- 记录个小问题:解决SSH中的Host key verification failed
- mpich出现LaunchProcess failed,CreateProcessAsUser failed,拒绝访问
- raid0 raid1 raid5 三种工作模式的工作原理及特点
- Daily Scrum 10.27
- http://blog.csdn.net/chenyufeng1991/article/details/49452409
- AI初步
- AIDL 使用学习
- 将命令行参数传递给main()
- container-with-most-water
- Daily Scrumming* 2015.10.27(Day 8)
- 音乐播放器-MainFragment分析6
- 智能算法求解器,内含NSGAII,PSO,SMPSO等智能算法
- 51nod 1305 Pairwise Sum and Divide (数学)
- http://blog.csdn.net/jungsagacity/article/details/7618587
- 信号和 TIME_WAIT 对大并发服务器的影响
- hadoop学习笔记之<Call From localhost/127.0.0.1 to localhost:9000 failed...>