【问题标题】:MSCVR110d.dll Missing in Allegro / VS Set UpAllegro / VS 设置中缺少 MSCVR110d.dll
【发布时间】:2013-12-04 09:55:52
【问题描述】:

所以我试图通过将所有内容链接到新的 VS 程序来设置 Allegro 模板。

我已经从Allegro 下载了.cc 文件,并按照Wiki 中的安装指南进行了Visual Studio 2010 的设置。

版本是5.0.10

main 源代码放入我的第一个程序并按照wiki (bin, include, lib) 链接所有内容后,程序构建良好,但是,当您在VS 中调试/运行程序时,会弹出一个窗口最多:

This program can't run because msvcr110d.dll missing from your computer.

我已经使用其他第三方库成功测试了其他 VS 项目,它们仍然可以正常工作。

可能是什么问题?

This S/O 问题没有答案。

【问题讨论】:

  • 这是 VS2012 的调试运行时。知道为什么程序会链接到那个吗?

标签: c++ visual-studio-2010 allegro allegro5


【解决方案1】:

您可以下载并安装 MSVC 可再发行组件:http://www.microsoft.com/es-es/download/details.aspx?id=30679

无论如何,需要msvcr110d而不是msvcr110是不正常的。这意味着您使用的库已经使用 MSVC2012 的调试运行时编译。检查它并选择正确的库文件。

【讨论】:

  • 你参考我的第一句话吗?您需要选择正确的 .lib 文件。根据您的编译器(属性、c/c++、代码生成)链接到 mt/md,不要选择 ...-debug.lib,因为它会要求您提供调试 MSVC 运行时 dll。
  • @DídacPérez 他遵循的教程包括链接到调试运行时的现成 .lib 文件。
【解决方案2】:

您正在学习的教程包括以下文本:

本教程可能会引用比该页面上可用的版本号更早的版本号。按照说明进行操作时,如果您复制并粘贴带有版本号的内容,请务必更新它以反映您下载的版本。

看起来确实是这样。程序试图链接的运行时是 VS2012 的运行时。因此,您下载的文件似乎比教程更新。您正在使用的 .lib 文件链接到 VS2012。

可能的解决方案:

  1. 重复教程中的步骤,但使用 VS2012 而不是 VS2010。
  2. 查找包含 VS2010 .lib 文件的旧版教程。
  3. 从头开始构建整个东西,这样您就不会依赖与特定版本的 VS 绑定的提供的 .lib 文件。

【讨论】:

  • Visual Studio 程序在 Release 版本中运行正常,但在 Debug 版本中运行良好...
  • 那是因为你的机器上安装了 VS2012 运行时。您链接到的给出错误的运行时是 VS2012 的调试运行时。你没有得到那个。你有一堆 .lib 文件,为你预先编译,链接到 VS2012 运行时。从我的答案中选择三个步骤之一。
  • 啊……我明白了。感谢发帖。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-10
相关资源
最近更新 更多