error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义

2023-11-03

error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义

今天遇到了同样的问题,搜索搜到了这里,后来解决了。。。。。。。。
创建解决方案时,用的是WIN32 DLL,添加了MFC ATL的支持,自动生成文件中是没有现成的DllMain函数的。后来需要用到这个入口函数,所以自己人工添加了DllMain函数,调试结果就报错,退重复定义DllMain之类的。。。

从其它地方找到了解决办法,这里给大家分享下:

给项目添加一个dllmian.cpp,里边的内容为
// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "stdafx.h"

// global data

// The following symbol used to force inclusion of this module for _USRDLL
#ifdef _X86_
extern "C" { int _afxForceUSRDLL; }
#else
extern "C" { int __afxForceUSRDLL; }
#endif

BOOL APIENTRY DllMain( HMODULE hModule,
  DWORD ul_reason_for_call,
  LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

这样问题就 解决了。。最重要的就是
#ifdef _X86_
extern "C" { int _afxForceUSRDLL; }
#else
extern "C" { int __afxForceUSRDLL; }
#endif
这段代码起到了强制执行你自定义的dllmain函数的作用。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义 的相关文章

  • 检查空参数的最佳方法(保护子句)

    例如 您通常不希望构造函数中的参数为空 因此看到类似的内容是很正常的 if someArg null throw new ArgumentNullException nameof someArg if otherArg null throw
  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • 使用不带参数的 Split() 时,默认分隔符是什么?

    所以我看了看String Split 今天 C 中的方法 我意识到你也可以向它传递零参数 这是我从未考虑过的 使用时默认的分隔符是什么Split 没有任何参数 如果没有值 则为空白 来源自here https msdn microsoft
  • 如何将pdf页面设置设置为打印属性对话框?

    大家好 我想知道如何设置 pdf 页面设置到打印属性对话框 例如 如果我的 PDF 页面设置为横向 则布局会自动显示横向而不是纵向 如果我的 PDF 页面设置为纵向 则布局会自动显示纵向 我在这个主题上做了很多研发 但没有找到任何满意的链接
  • 通过单个 GPIO 引脚转储闪存

    我正在使用 Infineon 的 XMC4500 Relax Kit 并尝试通过单个 GPIO 引脚提取固件 我非常天真的想法是通过 GPIO 引脚一次转储一位 然后用逻辑分析仪以某种方式 嗅探 数据 伪代码 while word by w
  • 在 GCC 和 Clang 下,使用 lambda 的简单 RAII 包装器的复制初始化意外失败

    我在创建一个简单的 RAII 包装器时遇到了一个意想不到的问题 更不用说下面代码的逻辑不完整性了 复制构造函数和赋值运算符未删除等 这意味着是一个SSCCE 令我印象深刻的是复制初始化我的包装器与临时 lambda 的结果会导致编译错误 而
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 如何在 Windows 窗体中运行屏幕保护程序作为其背景?

    如何在 Windows 窗体中运行屏幕保护程序作为其背景 用户还可以在屏幕保护程序运行时与表单控件进行交互 为什么这个 我们有一个案例 需要在用户时运行 Windows Bubbles 屏幕保护程序 可以继续与表单控件交互吗 您可以使用以下
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • Microsoft.Graph - 如何从具有不同用户名的共享邮箱发送?

    我目前正在将使用 SMTP 的服务代码移植到 Office 365 通过 SMTP 我可以使用 发件人 字段在来自共享收件箱的邮件上设置不同的用户名 同时保留共享电子邮箱地址 这似乎无法通过 Office 365 运行 其工艺流程为 客户填
  • 线程安全的 C++ 堆栈

    我是 C 新手 正在编写一个多线程应用程序 不同的编写者将对象推入堆栈 读者将它们从堆栈中拉出 或至少将指针推入对象 C 中是否有任何内置结构可以在不添加锁定代码等的情况下处理此问题 如果没有 那么 Boost 库呢 EDIT 你好 感谢您
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 更改其他页面的主窗口内容

    在 WPF 应用程序的主窗口中 我有一个 Badged 元素 来自材料设计 这是我的代码
  • 从包含大量文件的目录中检索文件

    我的目录包含近 14 000 000 个 wav 格式的音频样本 所有普通存储 没有子目录 我想循环浏览文件 但是当我使用DirectoryInfo GetFiles 在该文件夹上 整个应用程序冻结了几分钟 可以用另一种方式完成吗 也许读取
  • 在 .NET 中记录 StackOverflowException

    最近 我的 NET 应用程序 asp net 网站 中出现了堆栈溢出异常 我之所以知道该异常是因为它出现在我的 EventLog 中 我知道 StackOverflow 异常无法被捕获或处理 但是有没有办法在它杀死您的应用程序之前记录它 我
  • C++ 标准中短语“构造函数没有名称”的含义

    在尝试理解 C 标准中的 构造函数没有名称 这句话时 我似乎在 clang 中发现了一个错误 有人可以证实这一点吗 VS2015 and gcc rejects this code and I think they it are is co
  • 展开路径中具有环境变量的文件名

    最好的扩张方式是什么 MyPath filename txt to home user filename txt or MyPath filename txt to c Documents and settings user filenam
  • 是否有任何不使用公共虚拟方法的正当理由? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何不使用公共虚拟方法的正当理由 我在某处读到我们应该避免使用公共虚拟方法 但我想向专家确认这是否是有效的声明 对于良好且稳定的 API

随机推荐

  • 第八次 Java作业

    目录 1 输出圆形和矩形的面积 2 定义人类的介绍方式 3 编写登陆方法 4 人工包装的水果与普通水果的价格 1 输出圆形和矩形的面积 创建 Shape 图形 类 该类中有一个计算面积的方法 圆形和矩形都继承自图形类 输出圆形和矩形的面积
  • unity工具IGamesTools之批量生成帧动画

    unity工具IGamesTools批量生成帧动画 可批量的将指定文件夹下的帧动画图片自动生成对应的资源文件 Animation AnimationController Prefabs unity工具IGamesTools下载地址 http
  • Pydantic官方文档

    1 简介 1 7 1 版本的文档 使用Python类型注解进行数据验证和设置管理 Pydantic 在运行时强制执行类型提示 并在数据无效时提供用户友好的错误信息 定义数据如何表示为纯粹和规范的 Python 并使用 pydantic 对其
  • 计算二叉树的深度和叶子结点数(递归算法实现)

    问题描述 计算二叉树的深度和叶子结点数 输入形式 输入二叉树的先序遍历序列建立二叉树 输出形式 输出二叉树的叶子结点数和深度 样例输入 A B C 样例输出 Leaves 1 Depth 3 求给定二叉树的深度 二叉树的深度就是二叉树中结点
  • 软件测试的八股文内容

    软件测试理论基础 1 软件测试概念 软件测试的定义 在规定的条件下对软件进行操作 以发现错误 对软件质量进行评估 软件测试的范围 对软件形成中的文档 数据及程序进行测试 而不仅仅对程序进行测试 2 软件测试的目的 测试的目的不仅仅是为了发现
  • WebClient学习

    1 介绍 Java中传统的RestTemplate 的主要问题在于不支持响应式流规范 也就无法提供非阻塞式的流式操作 而WebClient是响应式 非阻塞的客户端 属于Spring5中的spring webflux库 2 依赖 maven依
  • 一般熟练盲打需要多久_学会盲打要多长时间,每天要练多长时间 盲打要练多久...

    1 注意自己打字的姿势 第一步要做到背挺直 眼睛离键盘大约半米左右 这是为了让整个都在视野里 双手食指自然的放在 F 和 J 键上 2 熟悉键盘的键位 注意打字时不要只用一个手指去打 一定要让每个手指都有分工 3 手指的正确位置 注意手指的
  • 浅谈C++值传递、地址传递、引用传递

    浅谈C 值传递 地址传递 引用传递 共同的困惑 函数 形式参数和实体参数 值传递 数组作为参数时除外 地址传递 引用传递 作者 Gl Zhang96 来源 CSDN 版权声明 本文为博主原创文章 转载请附上博文链接 共同的困惑 相信大家在入
  • 对于程序员来说,有哪些适合的副业可以选择?

    程序员应该如何选择副业 做副业要满足几个条件 首先是有时间 能让你有精力投入到副业中去 除去这个先决条件 程序员在选择副业的时候可以从这3个方向去思考 方向一 技能 业务 比如技术顾问 培训老师 APP开发等等 方向二 资源 业务 比如字节
  • 组合数学之递推关系(一)定义及几个经典例子

    说明 本文参考了组合数学课件 精简整理了一下内容并谈谈自己的理解 定义 设 an a n a n 为一序列 把该序列中 an a n a n和它前面几个 ai a i a i
  • CCF-CSP 201412-2【Z字形扫描】一种自定义排序的做法

    问题描述 在图像编码的算法中 需要将一个给定的方形矩阵进行Z字形扫描 Zigzag Scan 给定一个n n的矩阵 Z字形扫描的过程如下图所示 对于下面的4 4的矩阵 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行
  • Android_studio项目文件结构分析

    不得不说 Android studio比ecplise功能要强大 一些小问题的解决也方便很多 今天记录一波android studio 项目文件结构分析 源于网络 本人只是学习 首先搞清楚AS项目结构是由三种视图的 就是这几个啦 Proje
  • H5使用微信和支付宝支付

    项目需求 App中要使用H5的支付宝或者微信支付 官方是不推荐这样使用的 微信支付 首先请求后台的下单接口 接口会返回一个可以跳转的URL地址 https wx tenpay com cgi bin mmpayweb bin checkmw
  • a元素使用

    a元素 超链接元素 href属性中指定的网址如果不是以https或者http开头的 那么都是一个相对网址 他的绝对路径目录是当前网址的绝对路径的目录部分 href hyper 超级的 reference 引用 跳转地址 他可以跳转如下几个位
  • wireshark过滤器的使用

    玉兰花 安全小白成长笔记 1 wireshark过滤器的使用 文章目录 玉兰花 安全小白成长笔记 1 前言 一 什么是wireshark过滤器 二 过滤器的使用 1 按照协议过滤 2 按照IP地址过滤 3 按照端口过滤 3 按关键字过滤 4
  • 如何干掉腾讯网迷你版

    如何干掉腾讯QQ弹窗 腾讯网迷你版 最近在微软商店下载了MS版的QQ for Windows 旨在避免国内官网版本捆绑的Qprotect Q盾 扫盘流氓进程 没想到扫盘进程没了 多了一个广告弹窗服务 网上有人提到这个 腾讯网迷你版 可以在Q
  • 深度学习训练中迭代次数对最后预测结果的影响

    深度学习训练中迭代次数对最后预测结果的影响 代码的运行环境 源代码 控制迭代次数 代码的运行环境 win10专业版 Anaconda2020 02 tensorflow1 14 0 keras2 2 5 源代码 源代码主要来自杨培文的 深度
  • 机器学习 day19(使用python和np实现前向传播)

    1 烤咖啡豆模型 使用一维数组来表示这些向量和参数 所以只有一个方括号 W1 1 表示layer 1的第一个神经元的W Z1 1 表示 W1 1和输入X之间的点积 再与b1 1相加 a1 1 表示应用Z1 1的sigmoid函数 a1 表示
  • 剪映专业版 for Mac(全能易用的剪辑软件)v2.3

    剪映专业版 for Mac 界面更清晰 面板更强大 布局更适合电脑端用户 适用更多专业剪辑场景 延续剪映移动端全能易用的风格 无论你是剪辑师 学生 vlogger 剪辑爱好者 博主 都能够迅速上手操作 制作更专业 更高阶的视频效果 元宇宙
  • error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义

    error LNK2005 DllMain 12 已经在 dllmain obj 中定义 今天遇到了同样的问题 搜索搜到了这里 后来解决了 创建解决方案时 用的是WIN32 DLL 添加了MFC ATL的支持 自动生成文件中是没有现成的Dl