【问题标题】:MSVCR110d.dll couldn't be found although exists虽然存在但找不到 MSVCR110d.dll
【发布时间】:2013-05-15 14:30:26
【问题描述】:

我已经在带有共享运行时库选项的调试版本中使用 Visual Studio 2012 编译了我的程序,但是当我将我的应用程序发送给我的朋友时,他们警告说找不到 MSVCR110d.dll。这很奇怪,因为我在app根目录下附加了这个文件。

可能是什么原因?

【问题讨论】:

  • 我担心你的问题的标题是错误的:你的意思肯定是“MSVCR110d.dll 虽然存在但找不到”?
  • 是的,我改了标题
  • 看看这个答案:stackoverflow.com/a/10406852/1758762HTH
  • 但是这个问题涉及应用程序在发布模式下编译的情况,它仍然需要运行库的调试版本。我已经在调试版本中编译了我的应用程序。我不想强迫我的朋友安装可再发行库。我认为静态链接是解决方案,但我仍然想知道,我的问题的原因是什么。
  • 您是否也读过这篇文章:...更重要的是,调试版本不可再分发,因此它不像将其与可执行文件“打包”或压缩那些 DLL 一样简单?

标签: visual-studio-2012 visual-c++


【解决方案1】:

正如这里已经解释过的https://stackoverflow.com/a/10406852/1758762

调试版是不可再发行的,所以没有那么简单 将其与您的可执行文件“打包”,或压缩这些 DLL。

检查以确保您正在编译您的所有组件 应用程序处于“发布”模式,并且您正在链接正确的 CRT 版本和您使用的任何其他库(例如,MFC、ATL、 等等)。

当然,您需要 msvcr100.dll(注意没有 d 后缀)和其他一些(如果尚未安装)。指导你的 朋友们下载 Visual C++ 2010 Redistributable(或 x64),或 通过构建一个自动将其包含在您的应用程序中 安装程序。

【讨论】:

    猜你喜欢
    • 2012-03-28
    • 2014-11-01
    • 1970-01-01
    • 2011-11-15
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2022-01-22
    相关资源
    最近更新 更多