什么是MSVCP100D.dll?

12

@Alf P. Steinbach,这是一个重复的问题吗? - Suhail Gupta
你试过谷歌一下吗?尝试访问这个链接作为例子:(http://cboard.cprogramming.com/cplusplus-programming/131206-how-do-fix-ms-vs-2010-ultimate-hello-world-error-missing-msvcp100d-dll.html) - jemmanuel
是的,我尝试过谷歌搜索,但没有找到我想要的内容。 - Suhail Gupta
@enjay 我在链接中没有找到任何好的答案。你应该在给出链接之前先阅读。 - Suhail Gupta
@ Jon 你为什么删除了你的答案? - Suhail Gupta
3个回答

15

这是C++运行库的dll。你使用的是调试版本,用户计算机上找不到它。请在发布模式下编译您的程序。这将添加对MSVCP100.dll的依赖性,该文件很可能存在。

无论如何,您必须确保dll存在于用户的计算机中。您可以通过创建安装程序或提示用户安装Microsoft Visual C++ 2010可再发行软件包来实现这一点。

总结:

  • 在发布模式下编译代码
  • 创建安装程序或使用其他方式将所需的DLL复制到用户的计算机上

3
何不实际安装该依赖项,而不仅仅转换为稍微不太常见的依赖项,并祈祷其他人已经为您安装了它呢? - jalf
Visual C++ Express无法创建安装程序包,因此唯一的选择是链接到VC++ 2010可再发行软件包:http://www.microsoft.com/download/en/details.aspx?id=5555 - blaze
@RedX:你误解了我的意思:像@kgiannakakis建议的那样切换到发布模式,并不能可靠地解决问题。无论你的依赖关系是什么,你都需要确保它们存在于目标机器上。 - jalf
1
@jalf,至少对我来说,你的帖子暗示着交付调试版本。我只是想澄清推荐的方式是使用发布模式和vcredist。 - RedX
@jalf,你是正确的,需要确保用户的机器上可以找到所有依赖项。我已经编辑了我的回答。 - kgiannakakis
显示剩余4条评论

2
那么静态链接你的程序呢?我曾经这样做,以避免这种麻烦(要么创建安装程序,要么要求用户安装另一个包并指导/手动引导他们朝着那个方向)。

1

我猜你需要从这里下载并安装重发行包,以安装编译代码所需的运行时环境。

这个DLL包含额外的函数,在运行程序时链接。如果没有这个DLL,你会收到你正在经历的错误信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接