C++ 找不到 MSVCP90.dll?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1158705/
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-27 19:04:30  来源:igfitidea点击:

MSVCP90.dll not found?

c++visual-studioconfigurationrelease

提问by ufukgun

in my project if compile project in release, it asks me MSVCP90.dll.

在我的项目中,如果在发布中编译项目,它会询问我 MSVCP90.dll。

if it is debug, it does not...

如果是调试,它不会...

have you ever met such a situation?

你遇到过这样的情况吗?

and do you know why this .dll is desired? or what configuration makes it to be desired?

你知道为什么需要这个 .dll 吗?或者什么配置使它成为理想的?

thanks for any advice..

感谢您的任何建议..

回答by Uday

I think you need to install Microsoft Visual C++ 2008 Redistributable Package which you can get from here.

我认为您需要安装 Microsoft Visual C++ 2008 Redistributable Package,您可以从这里获得。

回答by ufukgun

i realized that i already installed Microsoft Visual C++ 2008 Redistributable Package so i just repaired but it did not solved the problem.

我意识到我已经安装了 Microsoft Visual C++ 2008 Redistributable Package,所以我刚刚修复了它,但它没有解决问题。

then i looked for the configuration and saw that "Generate Manifest" is "No" in Release when it was "Yes" in Debug.

然后我查找配置并看到“生成清单”在“发布”中为“否”,而在调试中为“是”。

so i changed and tried again then it worked.

所以我改变并再次尝试然后它起作用了。

i did not know that this configuration may affect like that, (and i dont remember when i changed it)

我不知道这个配置可能会影响那样,(我不记得我什么时候改变了它)

anyway.. thanks for your other answers...

无论如何......谢谢你的其他答案......

回答by joe

Have you searched your hard disk for the file? You may find it in a directory such as:

您是否在硬盘上搜索过该文件?您可以在以下目录中找到它:

C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT

C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT

If it's there, copy it to your \windows\system32 directory.

如果它在那里,请将其复制到您的 \windows\system32 目录。

Also copy msvcm90.dll and msvcr90.dll while you're at it.

同时复制 msvcm90.dll 和 msvcr90.dll。

If this is not working then the solution is download and install Microsoft Visual C++ 2008 Redistributable Package. Follow this link for download (cca 1.8 MB):

如果这不起作用,那么解决方案是下载并安装 Microsoft Visual C++ 2008 Redistributable Package。按照此链接下载(cca 1.8 MB):

http://www.microsoft.com/downloads/thankyou.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=en

http://www.microsoft.com/downloads/thankyou.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=en

Check Here for multiple ways of sloving this issue :

检查这里解决这个问题的多种方法:

http://pcsupport.about.com/od/findbyerrormessage/a/msvcp90-dll-not-found-missing-error.htm

http://pcsupport.about.com/od/findbyerrormessage/a/msvcp90-dll-not-found-missing-error.htm

回答by Ryan

Check your project settings. If you're not generating a manifest for your Release build, the DLL will need to be in the System32 directory.

检查您的项目设置。如果您没有为发布版本生成清单,则 DLL 将需要位于 System32 目录中。

Also, if your Release and Debug builds are going to the same directory, it could be seeing the Debug manifest, which would point it to the debug version of the DLL. Your best bet is to generate an embedded manifest for all builds.

此外,如果您的 Release 和 Debug 版本进入同一目录,则可能会看到 Debug 清单,该清单将指向 DLL 的调试版本。最好的办法是为所有构建生成一个嵌入式清单。

回答by inazaruk

You probably turned off manifest embedding in your project in release configuration.

您可能在发布配置中关闭了项目中的清单嵌入。

回答by Piotr Dobrogost

There are several files that make Visual C++ Run-time and you can have the same problem with any of them. You might take a look at other questions regarding any of the following files.

有几个文件使 Visual C++ 运行时,您可能会遇到与它们中的任何一个相同的问题。您可以查看有关以下任何文件的其他问题。

  • msvcP90.dll
  • msvcP90d.dll (debug version of msvcP90.dll)
  • msvcR90.dll
  • msvcR90d.dll (debug version of msvcR90.dll)
  • msvcP90.dll
  • msvcP90d.dll(msvcP90.dll 的调试版本)
  • msvcR90.dll
  • msvcR90d.dll(msvcR90.dll 的调试版本)