我是靠谱客的博主 乐观哈密瓜,最近开发中收集的这篇文章主要介绍error LNK2005: _DllMain@12 already defined in ****.lib解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
今天编译一个带mfc的控制台程序,出现了如下链接错误:
mfcs90d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)
网上找了一下,原来是CRT 库对某些函数使用弱外部链接导致的。
microsoft给出了解决办法:http://support.microsoft.com/kb/148652
由于其给出的解决方案是基于VC6.0的,因此我在VS2008编译器上实践如下:
进入工程的Properties,然后Linker的input下,在“Additional Dependencies”中填入 mfcs90d.lib MSVCRTD.lib,然后在Ignore Specific Library中填入mfcs90d.lib;MSVCRTD.lib,再链接即可通过。
其实也就是手动指定两个库的链接顺序罢了。(先链接MFC库,再链接CRT库)
最后
以上就是乐观哈密瓜为你收集整理的error LNK2005: _DllMain@12 already defined in ****.lib解决方法的全部内容,希望文章能够帮你解决error LNK2005: _DllMain@12 already defined in ****.lib解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复