如何解决这个错误? error LNK2005: _DllMain@12 already defined in MSVCRTD.lib

shark_boss 2009-08-13 12:01:44
我创建了一个Alt project工程,创建时选择了包含mfc 。 开始时编译链接都正常,可写了一段代码后链接的时候就会出现
mfcs71d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)
的链接错误,我将所添加的代码全部删除后这个错误仍然存在,这个问题我已经碰到好多次了,每次只能重新创建一个工程把代码都考过来。

有没有人也碰到过这种错误, 应当如何解决?

PS:为了建立正确的工程名我已经重建了3次该项目,都建烦了,现在遇到了这个问题难道又要重建?重建后加入对话框同样还会遇到这个问题,怎么解决?
...全文
409 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ToperRay 2009-08-14
  • 打赏
  • 举报
回复
忽略这个MSVCRTD.lib估计就可以了。
猪八戒照镜子 2009-08-14
  • 打赏
  • 举报
回复
楼主可以了吗

我也COPY了不下4次

楼主快快现身
雪影 2009-08-13
  • 打赏
  • 举报
回复
mfcs71d.lib和MSVCRTD.lib类库冲突了
shark_boss 2009-08-13
  • 打赏
  • 举报
回复
不是的,与这个没有关系的,要不然之前就会有这个错误
huofen2005 2009-08-13
  • 打赏
  • 举报
回复
工程类型的问题吧?
挂接子系统不对,就好比GUI程序用了main函数,console程序用了WinMain函数一样!
fishion 2009-08-13
  • 打赏
  • 举报
回复
你是不是自己写个DllMain函数了
endergo 2009-08-13
  • 打赏
  • 举报
回复
当时在做activex时也有碰到,结果是下面的原因
http://support.microsoft.com/kb/161589/zh-cn
不知道你的是否也一样
shark_boss 2009-08-13
  • 打赏
  • 举报
回复
忽略库的话连接少函数
shark_boss 2009-08-13
  • 打赏
  • 举报
回复
呵呵,Tr0j4n你还在网上搜了啊,多谢啊,可是这个我也看了怎么操作呢?
MoXiaoRab 2009-08-13
  • 打赏
  • 举报
回复
A、选择VC菜单Project->Settings->Link->Catagory选择Input,再在Ignore libraries 的Edit栏中填入你需要忽略的库,如:Nafxcwd.lib;Libcmtd.lib。然后在Object/library Modules的Edit栏中填入正确的库的顺序,这里需要你能确定什么是正确的顺序,呵呵,God bless you!
B、选择VC菜单Project->Settings->Link页,然后在Project Options的Edit栏中输入/verbose:lib,这样就可以在编译链接程序过程中在输出窗口看到链接的顺序了。
C、选择VC菜单Project->Settings->C/C++页,Catagory选择Code Generation后再在User Runtime libraray中选择MultiThread DLL等其他库,逐一尝试。
shark_boss 2009-08-13
  • 打赏
  • 举报
回复
没有的
工程选项里面 在ATL中最小使用 CRT 这个选项是 否,在预定义宏里面也没有定义 _ATL_MIN_CRT
MoXiaoRab 2009-08-13
  • 打赏
  • 举报
回复
project setting->C/C++->Preprocessor definitions

里面有没有_ATL_MIN_CRT 定义宏?
shark_boss 2009-08-13
  • 打赏
  • 举报
回复
那这个问题应该怎么解决呢?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧