Visual Studio 2010 中的 Visual C++ 中的 LNK 2005

2024-01-17

我正在尝试在 MS VS 2010 中编译使用 Visual C++ 2005 和 MFC 编写的 C++ 程序。遗憾的是,我在编译过程中遇到以下错误:

Error 2 error LNK2005: "public: virtual __thiscall CMemDC::~CMemDC(void)" (??1CMemDC@@UAE@XZ) already defined in CMemDCImpl.obj Project\Project\Project\uafxcwd.lib(afxglobals.obj) Project.

CMemDCImpl 有一个头文件,其中包含类 CMemDCImpl 的所有成员的定义,以及 *.cpp 文件及其实现。请帮我修复这个错误。


您提到 CMemDCImpl 是在 cpp 文件中定义的。然而,它似乎也在 uafxcwd.lib (您显然使用的库)中定义。 我可以想到这个错误的两种可能性:

  1. 您正在包含您尝试使用的库的 cpp。通常,当您使用预编译库时,只需在链接时引用自己的源文件中的头文件和库即可。您是否有可能将库的源 .cpp 文件包含在您自己的项目中?如果是这种情况,只需从项目中删除源 .cpp 文件即可。
  2. 您正在定义一个自己的类,该类与您在库中引用的类具有相同的名称,并且存在名称冲突。解决此问题的首选方法是将您自己定义的类封装在命名空间中:

.

namespace Foo
{
    class CMemDC
    {
        // ...
    };
}

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

Visual Studio 2010 中的 Visual C++ 中的 LNK 2005 的相关文章

  • std::vector 的复制构造函数如何运行?

    一个如何std vector
  • HttpResponseMessage 的内容为 JSON

    我有一个 ASP NET MVC WEB API 由于多种原因 由于没有授权而重定向 我不能只使用一个简单的对象并在我的控制器方法中返回它 因此我需要 HttpResponseMessage 类来允许我重定向 目前我正在这样做 var re
  • 使用 QTextCursor 选择一段文本

    使用 Qt 框架选择文本片段时遇到问题 例如 如果我有这个文件 没有时间休息 我想选择 ime for r 并从文档中删除这段文本 我应该如何使用 QTextCursor 来做到这一点 这是我的代码 QTextCursor cursor n
  • 使用 gcc 编译 C 时,预处理的 .i 文件中的数字意味着什么?

    我想了解编译过程 我们可以使用以下命令查看预处理器中间文件 gcc E hello c o hello i or cpp hello c gt hello i 我大致知道预处理器的作用 但我很难理解某些行中的数字 例如 1 usr incl
  • 函数原型和数组参数

    我正在学习 C 语法 并且已经开始研究数组了 我想问你一个问题 但首先让我回顾一下 这样我就知道我已经弄清楚了 我知道您可以使用以下语法将变量定义为数组 name
  • 错误 C2064:术语不计算为采用 1 个参数的函数

    class Student bool Graduate return m bGraduate class School vector
  • 使用 boost::iterator_facade<>

    我有一个链表结构 struct SomeLinkedList const char bar int lots of interesting stuff in here DWORD foo SomeLinkedList pNext 它是现有
  • 设置外部应用程序焦点

    在 VB NET 中 您可以使用以下命令将焦点设置到外部应用程序 AppActivate Windows Name or AppActivate processID As Integer 现在 如果您这样做 则效果很好 Dim intNot
  • F# 内联如何工作?

    对于 F 我的理解是您可以使用 inline 关键字在调用站点执行类型专门化 那是 val inline a gt b gt c when a or b static member a b gt c 约束条件是 a or b必须有一个静态成
  • 按位非运算符

    为什么要按位运算 0 打印 1 在二进制中 不是0应该是1 为什么 你实际上很接近 在二进制中 不是0应该是1 是的 当我们谈论一位时 这是绝对正确的 然而 一个int其值为0的实际上是32位全零 将所有 32 个 0 反转为 32 个 1
  • 有哪些 API 可在 Windows 中使用 C# 配置扬声器设置?

    我环顾了很多不同的地方 但似乎找不到一个简单的方法来做到这一点 我在 Windows 7 中有多个声卡 并使用 HDMI 将声音输出到我的 AVR 放大器 我遇到的问题是 当放大器关闭时 它会导致窗口丢失扬声器配置 所以我想做的是编写一个小
  • .NET 中 IEqualityComparer 中 GetHashCode 的作用是什么?

    我试图了解 IEqualityComparer 接口的 GetHashCode 方法的作用 下面的例子取自MSDN using System using System Collections Generic class Example st
  • 整数与双精度算术性能?

    我正在编写一个 C 类来使用整数执行 2D 可分离卷积 以获得比双对应更好的性能 问题是我没有获得真正的性能提升 这是 X 过滤器代码 对于 int 和 double 情况都有效 foreach pixel int value 0 for
  • 在标准库中静态链接时如何支持动态插件?

    假设一个应用程序myapp exe是使用构建的g 它使用标志 static libstdc 这样就可以安装在没有环境的情况下libstdc so myapp exe还添加了对某些功能的插件支持plugf可以通过动态加载dlopen来自共享库
  • 如何在 C# 中通过 JavaScript 回调运行 QUnit 测试并获取测试结果?

    在我的几个项目中 我使用 MVC 模式将代码 关注点 分为 3 层 模型层和控制层都在 C 上运行 因此我使用 MSTest 或 NUnit 等测试框架来验证这些层的功能需求 对于视图层 我使用 QUnit 来测试 JavaScript 文
  • MPI_Gatherv:根数组中收到的垃圾值

    我正在尝试实施MPI Gatherv函数于C 根据我的程序 包括 root 在内的每个进程都应该创建一个大小等于 进程的等级 1 这将在所有单元格中保持进程的等级 然后这个本地数组被收集到根的 rcv array 中 不知何故 我得到了垃圾
  • 如何从句柄确定进程是 32 位还是 64 位?

    如何从使用 OpenProcess 获取的进程句柄中获取信息 无论进程是 32 位还是 64 位 是的 IsWow64Process 毫无用处 令人烦恼 它的真正意思是 启用了 32 位模拟 如果您在 32 位操作系统上运行 则返回 fal
  • 如何最好地为 Visual Studio 2017 构建的 CMake C++ 项目设置输出目录?

    我使用 Visual Studio 2017 使用 vcxproj 文件构建 C 桌面项目 我喜欢默认行为 其中输出目录是项目下面的子目录 例如 myproj sln myproj vcxproj x64 myproj release my
  • 序列化时如何跳过 xml 声明?

    我正在尝试输出一个没有 xml 头的 xml 文件 例如 我试过 Type t obj GetType XmlSerializer xs new XmlSerializer t XmlWriter xw XmlWriter Create c
  • Azure Function App Azure 服务总线触发器触发两次

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

随机推荐

  • jQuery td onclick 设置复选框,不冒泡

    我希望能够单击表中的 td 元素 并让它选中或取消选中同一行上同级 td 中的复选框 单击该复选框仍应 工作正常 单击 td 复选框所在的元素 还应该选中该复选框 单击不同的 td 不应该 需要双击 重置单击 由于切换实施不当 Fiddle
  • 使用指令 Angular 2 更改输入的 ngModel 值

    我不知道如何访问和更改输入ngModel使用指令的值 问题的结果是 当我选择所需的地址时 模型的地址值不会更新 它只是设置为我实际在输入中输入的内容 而不是输入的最终值 我输入 830 我选择 8300 Fauntleroy Way Sou
  • rspec:未找到属性(存在)错误

    我在指定模型验证时遇到一些问题 该模型充当状态机 gem state machine 0 9 4 通过 stat machine 我定义了对交付状态下的自行车的验证 state delivered do validates presence
  • 在两个 Angular2 组件打字稿文件之间传递值

    我有两个不是父组件和子组件的组件 但我需要将值从组件 A 传递到组件 B example src abc cde uij componentA ts 具有变量 CustomerId ssss 需要将该变量 customerID 传递给 sr
  • 排除 Maven/Intellij Idea 项目中的日志文件夹

    我有一个与我的项目和 Intellij Idea 处于同一级别的 日志 目录 我可以从 Idea 打开这些日志 此目录中的文件有几场演出 因此当我尝试在项目中搜索字符串时 它会导致一分钟左右的搜索 而我希望它是即时的 所以我在 Idea 中
  • TFS 构建:以管理员身份运行构建

    我们有一个构建项目可以修改构建计算机上的注册表 不要问我为什么 并且需要以管理员身份完成 有没有办法以 管理员 身份从构建代理运行 msdev 我们正在使用 TFS 2012 很快就会迁移到 TFS 2013 布鲁斯 将构建服务帐户添加到本
  • Android 用自定义可绘制选择器替换复选框样式

    我尝试使用以下内容创建 xml 选择器
  • Android:当我滚动时 OnbindViewHolder 不会调用

    嗨 当我遇到一个奇怪的问题时recyclerview创建第一次OnbindViewHolder调用直到最后一项recyclerview然后当我滚动时OnbindViewHolder未调用我需要解决这个问题 因为我需要使用分页 但是当使用它时
  • 如何将变更集保留在 hg 推送的“草稿”阶段?

    我如何阻止 Mercurial 将变更集置于推送操作的 公开 阶段 我希望他们保持 草案 我经常进行 rebase 和 histedit 并且我推送到的存储库仅供我使用 而且必须一直改变相位是一件很麻烦的事 文档没有明确揭示的是 推送上的相
  • SQLServer 如何向 vb.net 应用程序通知事件?

    有没有一种相对简单的方法可以通知我的 VB NET 应用程序新值已写入 SQL Server Express 2008 中的表 轮询不是一种选择 因为我需要每 10 秒不间断地进行一次轮询 看看让您的应用程序订阅查询通知 http msdn
  • 函数不会在关闭完成块中触发

    所以我有一个视图控制器 当用户登录时它会被关闭 在关闭函数完成块中 我触发了一个应该重新加载下一个视图控制器的函数 什么也没发生 空白视图控制器 但是 如果我在登录后关闭应用程序 然后重新打开它 一切都会按预期加载 这是我的登录功能 fun
  • 如何在 Visual Studio 中为自定义配置文件添加配置转换?

    我正在从事的项目涉及从配置文件读取大量服务端点 url 由于列表相当大 我决定将它们保存在自定义配置文件中 以保持我的 web config 干净且小 我将自定义部分添加到我的网站中 如下所示
  • Active Directory LDAP 查询结果始终缺少已知存在的属性

    这是我目前遇到的一个问题 用户个人资料有一个属性 EmployeeID 当使用以下命令查看该用户时会出现该属性广告浏览器 http technet microsoft com en us sysinternals bb963907 aspx
  • HTML5 离线应用程序缓存更新未在 Firefox 中显示

    我的文档根目录中有一个index php 文件 它产生以此开头的输出 manifest appcache 告诉浏览器缓存它以供离线使用 再次 相关部分 CACHE MANIFEST version 8 25 2011 CACHE inter
  • 无法在 call.enqueue 的 for 循环之外获取 ArrayList

    我想从 Retrofit 中的 call enqueue 方法中获取 ArrayList 数据 如何访问 call enqueue 方法之外的列表 一切正常 当打印列表大小时 我得到了我想要的值 唯一的问题是我无法从 call enqueu
  • 在 Swift 中设置带有边距的 UITableViewCell 框架

    我正在尝试制作一个具有左右边距 插图的 UITableViewCell 我过去曾使用 Objective C 使用以下代码完成此操作 void setFrame CGRect frame frame origin x 25 frame si
  • 使用 C++ 11 进行重构

    鉴于 c 提供的新工具集 许多程序员以代码简化 表现力 效率为目标 浏览旧代码并进行调整 有些毫无意义 有些成功 以实现他们的目标 虽然尽量不要在此类工作上浪费太多时间 而只是进行非侵入性且独立的更改 但最佳实践是什么 让我划掉显而易见的部
  • instanceof 检测接口时产生不一致的结果?

    有什么棘手的事情我应该知道吗instanceof 我通过一些方法传递对象列表 并使用以下方法测试这些对象是否实现特定接口instanceof 在某些情况下 instanceof正确地将对象识别为实现接口 但在其他情况下则不然 它似乎在不同地
  • 将日期/时间解析为本地时区

    我正在尝试从服务器端绑定视图持有者解析日期 时间 json 我试图解析的日期字符串是这样的 2018 06 25T08 06 52Z 这是我正在使用的代码 从另一个堆栈溢出线程获取它 try SimpleDateFormat df new
  • Visual Studio 2010 中的 Visual C++ 中的 LNK 2005

    我正在尝试在 MS VS 2010 中编译使用 Visual C 2005 和 MFC 编写的 C 程序 遗憾的是 我在编译过程中遇到以下错误 Error 2 error LNK2005 public virtual thiscall CM