2009-07-21 66 views
9

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

如果是调试,它不...

你见过这样的情况?

并且你知道为什么要这个.dll吗?或者什么配置使它成为所需?

感谢您的任何意见..

+0

你是否尝试动态链接到外部DLL文件 – Bashar 2011-01-12 09:53:52

回答

14

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

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

所以我改变了,并再次尝试,然后它的工作。

我不知道,这个配置可能像影响,(我不记得当我改变了它)

反正..感谢您的其他答案...

+0

您可以查看MS运行时DLL如何部署在Windows目录中%WINDIR%/ WinSxS。Windows使用清单来确定要加载哪个特定的运行时DLL。 – 2009-08-11 16:52:26

+1

另一个可能导致相同问题的选项:Manifest Tool | Embed Manifest = No. – 2009-09-10 13:28:19

+0

谢谢我愚蠢地禁用了清单,这为我解决了它!感谢:) – 2009-10-23 15:27:50

14

我认为你需要安装Microsoft Visual C++ 2008再发行组件包 你可以从here得到。

+0

因为它已经加载,这不是解决方案:( – ufukgun 2009-07-22 06:42:39

3

您是否在文件中搜索了硬盘?您可以在目录中,如发现:

C:\ Program Files文件\微软的Visual Studio 9.0 \ VC \ REDIST \ 86 \ Microsoft.VC90.CRT

如果它的存在,它复制到\ WINDOWS \ system32目录。

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

如果这不起作用,然后 该解决方案是下载并安装Microsoft Visual C++ 2008可再发行组件包。请点击此链接下载(CCA 1.8 MB):

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

检查这里的方法求这个问题的多种途径:

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

+0

在这里找到它们:C:\ Program Files \ Intel \ Intel(R)Rapid Storage Technology \ Microsoft .VC90.CRT – 2016-09-09 14:56:22

1

检查项目设置。如果您没有为发布版本生成清单,则该DLL需要位于System32目录中。另外,如果您的发行版和调试版本将转到相同的目录,则可能会看到调试清单,这会将其指向DLL的调试版本。你最好的选择是为所有版本生成一个嵌入式清单。

0

有几个文件使Visual C++运行时间,你可以有任何与他们相同的问题。您可以查看关于以下任何文件的其他问题。

  • msvcP90.dll
  • msvcP90d.dll(msvcP90的调试版本。DLL)
  • MSVCR90.DLL
  • msvcR90d.dll(MSVCR90.DLL的调试版本)
1

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