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 中定义 的相关文章

  • C# AES Rijndael - 检测无效密码

    我正在使用 Rijndael 加密程序中的一些敏感数据 当用户输入错误的密码时 大多数情况下CryptographicException抛出消息 填充无效且无法删除 然而 CryptStream 不会抛出密码错误的异常 而是返回错误解密的流
  • ZedGraph 缩放和调整大小

    当我绘制图形 放大和缩小并重新绘制图形时 图形的位置不会改变 我想要做的是 每当重新绘制数据时 视图都会更改以查看所有图形数据 如果您在重绘之前放大或缩小 这似乎会被禁用 Thanks 设置属性 IsZoomOnMouseCenter对于控
  • C++17 中带有 noexcept 的 std::function

    在 C 17 中noexcept 已添加到类型系统中 http www open std org jtc1 sc22 wg21 docs papers 2015 p0012r1 html void r1 void f noexcept f
  • 函数原型和数组参数

    我正在学习 C 语法 并且已经开始研究数组了 我想问你一个问题 但首先让我回顾一下 这样我就知道我已经弄清楚了 我知道您可以使用以下语法将变量定义为数组 name
  • 优化对绑定到 DataGridView 的 DataTable 的更新

    我的应用程序中有一个显示一些数据的表单 当我第一次显示表单时 我将一些数据加载到 DataTable 中 然后将 DataTable 绑定到 DataGridView 我还启动了一个异步方法来执行一些较慢的数据库查询 当这些慢查询完成时 我
  • 如何获取任意类型的默认值

    在 C 中我可以写这样的东西 class AnyThing
  • 使用 boost::iterator_facade<>

    我有一个链表结构 struct SomeLinkedList const char bar int lots of interesting stuff in here DWORD foo SomeLinkedList pNext 它是现有
  • 整数与双精度算术性能?

    我正在编写一个 C 类来使用整数执行 2D 可分离卷积 以获得比双对应更好的性能 问题是我没有获得真正的性能提升 这是 X 过滤器代码 对于 int 和 double 情况都有效 foreach pixel int value 0 for
  • 了解 MVC-5 身份

    我创建了一个新的ASP NET MVC 5申请与Individual User Accounts然后更新了所有的Nuget packages在解决方案中 现在我尝试遵循一些教程中显示的一些指南 但遇到了一些问题 第一个是一个名为Applic
  • “volatile void function( ... )” 做了什么?

    我见过从语法角度来看 C 函数中 volatile 关键字有多少种用法 https stackoverflow com questions 7643528 how many usage does volatile keyword have
  • 为什么测试在 TeamCity 中运行比直接在 NUnit 中运行需要更长的时间?

    我进行了一些 C 性能测试 基本上运行两种不同的方法 并检查一种方法的运行速度是否比另一种方法快得多 当我在 NUnit 本地运行它们时 其中一个测试的运行速度是另一个测试的十倍 因此我有一个 NUnit 测试 它使用Stopwatch检查
  • 让 GCC/Clang 使用 CMOV

    我有一个简单的标记值联合 这些值可以是int64 ts or doubles 我正在对这些联合进行加法 但需要注意的是 如果两个参数都代表int64 t值 那么结果也应该有一个int64 t value 这是代码 include
  • 使用 for 循环创建链表

    这是我的结构 struct ListItem int data struct ListItem next 假设链表的第一个节点的 data 0 我想编写一个 for 循环来创建大小为 5 的链表 但我不知道如何工作 我尝试了以下方法 int
  • 锁定文件的一个块

    我有一个大小为 192k 的文件 我想锁定文件的中间部分 例如 我想用 c 锁定文件的 64k 128k 知道如何锁定文件的那部分吗 你需要使用锁定文件Ex http msdn microsoft com en us library win
  • 带有 Unicode 字符的主机名在 Windows 8 中有效

    Uri CheckHostName 回报UriHostNameType Unknown到处都是 但在 Windows 8 上 它又回来了UriHostNameType Dns 为什么突然间带有 Unicode 西里尔字符的主机名在 Wind
  • 一些涉及类析构函数和删除运算符的内存管理问题?

    在阅读了一些教程后 我仍然不清楚 C 中内存管理的一些观点 1 当使用 new 运算符声明的类超出范围时 是否会调用其析构函数并释放内存 是否有必要调用删除运算符来释放类的内存并调用其析构函数 class Test void newTest
  • 如何在 C# 中通过 JavaScript 回调运行 QUnit 测试并获取测试结果?

    在我的几个项目中 我使用 MVC 模式将代码 关注点 分为 3 层 模型层和控制层都在 C 上运行 因此我使用 MSTest 或 NUnit 等测试框架来验证这些层的功能需求 对于视图层 我使用 QUnit 来测试 JavaScript 文
  • 派生类的聚合初始化

    以下代码无法使用 Visual Studio2017 或在线 GDB 进行编译 我期望它能够编译 因为迭代器只是一个具有类型的类 并且它是从公共继承的 这是不允许的还是在 VS2017 中不起作用 template
  • 将函数作为函数参数传递

    Unity C 似乎无法识别Func lt gt 作为函数委托的符号 那么 如何将函数作为函数参数传递呢 我有一个想法Invoke functionName 0 可能有帮助 但我不确定它是否实际上立即调用该函数 或者等待帧结束 还有别的办法
  • Azure Function App Azure 服务总线触发器触发两次

    我使用带有服务总线触发器的 Azure Function Apps 来读取服务总线并对服务总线消息的内容执行操作 服务总线接收 JSON 序列化对象 然后将 JSON 消息反序列化回 Function App 中的对象 然而 由于某种原因

随机推荐

  • 第八次 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