C++ 缺少 MSVCP100D.dll

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/7904213/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-28 17:41:22  来源:igfitidea点击:

MSVCP100D.dll missing

c++visual-studio-2010visual-c++

提问by Renari

When I try to debug my C++ application I get the error

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

The program can't start because MSVCP100D.dll is missing from your computer. Try reinstalling the program to fix this problem.

程序无法启动,因为您的计算机缺少 MSVCP100D.dll。尝试重新安装程序以解决此问题。

I found someone with a similar problem here: Remote debugging C++ on the Windows Server 2008 platform with VS2010; MSVCP100D.dll missinghowever the solution given there doesn't seem to show up when I go to the solution properties.

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

Would reinstalling Visual Studio fix this problem?

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

采纳答案by Renari

Reinstalling Visual Studio fixed the problem.

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

回答by l33t

Usually you don't want MSVCP100D.dll on your system. It's for debugging purposes only. If you get this error for your release build you must make sure that you didn't accidently add a 'Debug'-tagged Project Output to your setup project.

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

If you really need to debug your software on a remote machine, I suggest you do the following:

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

Create a new Setup project called 'CRTDebug100Setup' and add the following Merge Modules (found under C:\Program Files\Common Files\Merge Modules):

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

  • Microsoft_VC90_DebugCRT_x86.msm
  • policy_9_0_Microsoft_VC90_DebugCRT_x86.msm
  • Microsoft_VC90_DebugCRT_x86.msm
  • policy_9_0_Microsoft_VC90_DebugCRT_x86.msm

Build, and deploy on your computer to be debugged!

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

回答by le88fe

This can also occur if Generate Debug infois not set to No

如果Generate Debug info未设置为No,也会发生这种情况

Configuration Properties-> Linker-> Debugging-> Generate Debug info

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

回答by Glenn Picher

Followup on l33t's answer above (tried to revise it but it did not seem to appear).

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

Added later by gpicher 10 Jan 2012: I believe those .msm packages would be for a 9.x version of the DLL in question, not a 10.x version. I resolved a similar problem I had by making a setup project with Visual Studio 2010 installed on a 64 bit Windows installation, using the merge module Microsoft_VC100_DebugCRT_x86.msmin the folder C:\Program Files (x86)\Common Files\Merge Modules. There's a similar x64 version of the .msm if the application showing the error dialog is a 64 bit application. In this case a third party was providing me a debug build of their application in order to develop and test new plugin code against, so I couldn't change build settings, and wanted the debug functionality.

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

回答by zhaorufei

  • Find the Visual Studio 2010 install iso file.

  • Extract cab44.cab file from the ISO.

  • Then extract file "F_REDIST_DLL_APPLOCAL_msvcp100d_x86" from the .cab file using 7z.

  • Rename the file to msvcp100d.dll.

  • 找到 Visual Studio 2010 安装 iso 文件。

  • 从 ISO 中提取 cab44.cab 文件。

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

  • 将文件重命名为 msvcp100d.dll。

For x64 version. The cab file name is cab26.cab and the file name is F_REDIST_DLL_APPLOCAL_msvcp100d_x64.

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

For similar issue such missing msvcr*d.dll for another visual studio version. Here is the way I used to find the answer:

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

  1. Find the Visual Studio ISO.

  2. Extract all the .cab file.

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

  4. gvim filelist.txt

  1. 找到 Visual Studio ISO。

  2. 提取所有 .cab 文件。

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

  4. gvim 文件列表.txt

searching for the interested file name. Hope this helps.

搜索感兴趣的文件名。希望这可以帮助。