MSVCP100D.dll 丢失

Posted

技术标签:

【中文标题】MSVCP100D.dll 丢失【英文标题】:MSVCP100D.dll missing 【发布时间】:2011-10-26 14:33:55 【问题描述】:

当我尝试调试我的 C++ 应用程序时出现错误

程序无法启动,因为您的文件中缺少 MSVCP100D.dll 电脑。尝试重新安装程序以解决此问题。

我在这里找到了有类似问题的人:Remote debugging C++ on the Windows Server 2008 platform with VS2010; MSVCP100D.dll missing 但是当我转到解决方案属性时,那里给出的解决方案似乎没有出现。

重新安装 Visual Studio 会解决这个问题吗?

【问题讨论】:

Application has failed to start because MSVCP100D.dll was not found, reinstalling app may help的可能重复 我实际上在调试时遇到了这个问题,而将其发送给其他人时没有问题。 MSVCP100D.dll 是 Visual Studio 2010 的可再发行 DLL 包的调试版本。如果您在未安装 Visual Studio 2010 的服务器上进行远程调试,这就是问题的原因。如果这是您的用例,我建议您使用包含调试信息和已删除优化的 RELEASE 构建进行远程调试——这将(几乎)为您提供正常 DEBUG 构建所拥有的一切。 那只是发送给自己的特例。你安装调试库了吗? 我不是远程调试,我是本地调试。 【参考方案1】:

通常您不希望在您的系统上安装 MSVCP100D.dll。它仅用于调试目的。如果您在发布版本时遇到此错误,您必须确保您没有意外地将带有“调试”标签的项目输出添加到您的设置项目中。

如果您确实需要在远程机器上调试您的软件,我建议您执行以下操作:

创建一个名为“CRTDebug100Setup”的新安装项目并添加以下合并模块(位于 C:\Program Files\Common Files\Merge Modules 下):

Microsoft_VC90_DebugCRT_x86.msm policy_9_0_Microsoft_VC90_DebugCRT_x86.msm

在您的计算机上构建并部署以进行调试!

【讨论】:

我不是远程调试,我是本地调试。 你在 Visual Studio 中哪里修复了这个问题,所以发布模式不依赖于 msvcp100d.dll【参考方案2】:

重新安装 Visual Studio 解决了这个问题。

【讨论】:

对我没有帮助。我的笔记本电脑上完全没有 dll 文件,所以不确定重新安装会有什么帮助。【参考方案3】:

如果 Generate Debug info 未设置为 No

,也会发生这种情况

配置属性 -> 链接器 -> 调试 -> 生成调试信息

【讨论】:

【参考方案4】:

跟进 l33t 上面的回答(试图修改但似乎没有出现)。

稍后由 gpicher 2012 年 1 月 10 日添加:我相信这些 .msm 包将适用于相关 DLL 的 9.x 版本,而不是 10.x 版本。我通过使用文件夹C:\Program Files (x86)\Common Files\Merge Modules 中的合并模块Microsoft_VC100_DebugCRT_x86.msm 在64 位Windows 安装上安装Visual Studio 2010 制作安装项目,解决了我遇到的类似问题。如果显示错误对话框的应用程序是 64 位应用程序,则存在类似的 x64 版本的 .msm。在这种情况下,第三方向我提供了他们应用程序的调试版本,以便开发和测试新的插件代码,因此我无法更改构建设置,并且想要调试功能。

【讨论】:

【参考方案5】:

找到 Visual Studio 2010 安装 iso 文件。

从 ISO 中提取 cab44.cab 文件。

然后使用 7z 从 .cab 文件中提取文件“F_REDIST_DLL_APPLOCAL_msvcp100d_x86”。

将文件重命名为 msvcp100d.dll。

适用于 x64 版本。 cab文件名为cab26.cab,文件名为F_REDIST_DLL_APPLOCAL_msvcp100d_x64。

对于类似的问题,例如缺少另一个 Visual Studio 版本的 msvcr*d.dll。这是我过去寻找答案的方式:

    查找 Visual Studio ISO。

    解压所有 .cab 文件。

    7z.exe t *.cab > filelist.txt

    gvim filelist.txt

搜索感兴趣的文件名。希望这会有所帮助。

【讨论】:

我试用了 VS2010 pro 试用版 ISO。有cab26.cab(我有x64系统)但没有文件F_REDIST_DLL_APPLOCAL_msvcp100d_x64。

以上是关于MSVCP100D.dll 丢失的主要内容,如果未能解决你的问题,请参考以下文章

vc++ 中未处理的异常 (msvcp100d.dll)

未找到 MSVCP100D.dll,[关闭]

未找到 msvcp100d.dll -错误 [重复]

什么是 MSVCP100D.dll? [复制]

代码执行无法继续,因为找不到 MSVCP100D.dll [重复]

msvcprtd.lib(MSVCP100D.dll) : error LNK2005:解决方案