error LNK2005: _DllMain@12 already defined in MSVCRTD.lib

2023-11-17

  本文主要分析和解决编译链接时产生的 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窗口看到链接时搜索的库的先后顺序,对于本问题,你一定可以看到类似下面的先后输出:
 
 
 
  1. >    Searching D:\vs2008\VC\lib\MSVCRTD.lib: 
  2. >    Searching D:\vs2008\VC\atlmfc\lib\mfcs90ud.lib: 
     由此可以看出,默认情况下,先链接了CRT库MSVCRTD.lib,然后链接的是MFC的库mfcs90ud.lib,因此,需要强制改变一下它们的链接顺序。

     选择“项目 -> 属性 -> 链接器 -> 输入”栏,在其中的“忽略特定的库”这一栏输入:MSVCRTD.lib mfcs90ud.lib, 然后,在“附加库”这一栏中输入: mfcs90ud.lib MSVCRTD.lib  问题即可解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

error LNK2005: _DllMain@12 already defined in MSVCRTD.lib 的相关文章

随机推荐

  • 十万行代码!!!

    前些天 看到网上雷军写的一篇好象是叫给程序员的几个建议 说到程序员必须要写够十万行代码才能成为高手 不要心存侥幸 于是我回来计算了一下我的程序 不算不知道 一算吓一跳 居然有超过9万行的代码 如果不算表单属性等 也有45000多行纯代码 这
  • 【毕业设计】基于SSM与LayUI的校内信息共享平台

    文章目录 0 项目说明 1 项目简介 2 开发环境 3 界面展示 4 项目源码 5 最后 0 项目说明 基于SSM与LayUI的校内信息共享平台 提示 适合用于课程设计或毕业设计 工作量达标 源码开放 项目分享 https gitee co
  • 图解PROFINET——PROFINET IO设备类型

    PROFINET IO的设备类型分为控制器 监视器 设备 DP Master System PROFINET IO System DP Master Class 1 PROFINET IO Controller DP Slave PROFI
  • webpack打包多个文件

    webpack config js const pathlib require path module exports entry index pages index pageA pages pageA output path pathli
  • python-selenium-框架定位的处理frame

    Frame框架是Html框架结构中一种布局格式 共有三种形式 frameset frame iframe frame是整个页面的框架 iframe是内嵌的网页元素 也可以说是内嵌的框架 页面比较复杂 页面套页面 定位第几层窗口 找元素时 要
  • C语言—总结1—运算符,语句,数据类型

    一 C语言的基本结构 1 include
  • 微软北大联合提出换脸 AI 和脸部伪造检测器,演绎现实版「矛与盾」?

    2020 01 07 18 28 导语 一个致力于造假 一个专注于打假 雷锋网 AI 开发者按 近日 微软研究院与北京大学的研究小组共同提出了一种全新的 AI 换脸框架 FaceShifter 以及一种检测伪造人脸图像的方法 FaceX R
  • 渗透Metasploitable主机

    攻击机 kali 靶机 Metasploitable2 一个特制的ubuntu操作系统 设计初衷作为安全工具测试和演示常见漏洞攻击的环境 默认开放高危端口如21 22 23 445 6000等等 而且具有很多未打补丁的高危漏洞 Metasp
  • 直接告诉你EndNote怎么用!

    如何用 endnote 导入新文献做自己的文献数据库 如何修改导入以后的英文的具体内容 例如修改数据库中的作者姓名 发表时间 文章页码 种属名的斜体 如何给自己的文章插入文献 EndNote安装包下载 EndNoteX9 先下载micros
  • Verilog的奇技淫巧[更新中]

    1 Verilog常用的数据选择语句vect a b 或vect a b 转载自 MDY常用的数据选择语句Verilog明德扬论坛 Powered by Discuz vect为变量名字 a为起始位置 加号或者减号代表着升序或者降序 b是进
  • Python获取MP3文件的ID3标签信息

    在Python中 你可以使用第三方库来获取MP3文件的ID3标签信息 ID3标签是嵌入在MP3文件中的元数据 它包含了有关音频文件的信息 如歌曲名称 艺术家 专辑 年份等 一种常用的Python库是mutagen 它提供了一个简单而强大的接
  • 如何用matlab计算自相关,Matlab计算自相关和互相关

    1 x t sinc 10t y t rect 10t 利用Matlab求 x t y t 的自相关函数及互相关函数 rect x abs s lt 0 5 定义rect 矩形脉冲 T 10 dt 0 001 t T 2 dt T 2 x
  • QT ToolBar上工具按钮隐藏

    之前再toolBar上添加工具时 用的QPushButton 然后再addWidget就可以了 但是当想要隐藏掉 调用hide和setVisible时 发现没反应 这块也没有细究 只寻找答案 解决办法 1 使用QToolButton和QAc
  • 学习笔记:运算放大器(OPA)超详细讲解(内含运用电路仿真)

    一运算放大器的简介 放大器 简称 运放 是具有很高放大倍数的电路单元 运算放大器是一个内含多级放大电路的电子集成电路 分别是输入级 中间级 发大级还有偏置电路 红色绿色蓝色分别是输入级 中间级和输出级 输入级采用具有很强零点漂移抑制能力的差
  • CSDN超级实习生计划——大厂实习直通车,年薪最高可达30W。2022正式开启~

    一 CSDN超级实习生计划是什么 2022届高校毕业生规模预计1076万人 同比增加167万人 这是高校毕业生规模首次超过千万 也是近几年增长人数最多的一年 1076万大学生就业的压力急剧暴增 也将迎来最难就业季 超级实习生计划是CSDN重
  • 一天1个机器学习知识点(一)

    陆陆续续整理的机器学习的知识点 资料大多数来自网上 不做盈利目的 如果侵权请告知即删 如果文章中有错误的地方还请各位同学指正 一起学习 一起进步 每天都在更新中 记得收藏 每天进步一点点 一天1个机器学习知识点 一 决策树 有无监督学习 S
  • ajax中的application/x-www-form-urlencoded中的使用

    一 HTTP上传的基本知识 在Form元素的语法中 EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型 下边是说明 application x www form urlencoded 窗体
  • MSP430 F5529的按钮控制led灯亮灭程序代码——按一下亮一下,再按一下暗

    2019 6 27 MP430F5529 电子工艺实习实验1 作业1 按下按键 LED亮 再按一次 LED灭 设置P8 1输出灯 P1 2输入按钮 P1 2下降沿 1 0 中断 中断标识为0 给按钮设置上拉电阻让其的高电位更加稳定 设置这两
  • 详解Java基础中注释添加的位置以及原则

    一 添加注释的位置 1 类 接口 这一部分注释是必须的 在这里 我们需要使用javadoc注释 需要标明 创建者 创建时间 版本 以及该类的作用 2 方法 在方法中 我们需要对入参 出参 以及返回值 均要标明 3 常量 对常量 我们需要使用
  • error LNK2005: _DllMain@12 already defined in MSVCRTD.lib

    本文主要分析和解决编译链接时产生的 LNK2005 错误 错误信息 mfcs90ud lib dllmodul obj error LNK2005 DllMain 12 already defined in MSVCRTD lib dllm