【发布时间】:2010-11-12 14:56:43
【问题描述】:
在我的项目中,如果在发布时编译项目,它会询问我 MSVCP90.dll。
如果是调试,则不会...
你遇到过这样的情况吗?
你知道为什么需要这个 .dll 吗?或者是什么配置使它成为理想?
感谢您的建议..
【问题讨论】:
-
你是否尝试动态链接到外部dll文件
标签: c++ visual-studio configuration release
在我的项目中,如果在发布时编译项目,它会询问我 MSVCP90.dll。
如果是调试,则不会...
你遇到过这样的情况吗?
你知道为什么需要这个 .dll 吗?或者是什么配置使它成为理想?
感谢您的建议..
【问题讨论】:
标签: c++ visual-studio configuration release
我认为您需要安装 Microsoft Visual C++ 2008 Redistributable Package 你可以从here获得。
【讨论】:
您是否在硬盘上搜索过该文件?您可以在以下目录中找到它:
C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT
如果存在,请将其复制到您的 \windows\system32 目录。
同时复制 msvcm90.dll 和 msvcr90.dll。
如果这不起作用,那么 解决方案是下载并安装 Microsoft Visual C++ 2008 Redistributable Package。请点击此链接下载 (cca 1.8 MB):
在此处查看解决此问题的多种方法:
http://pcsupport.about.com/od/findbyerrormessage/a/msvcp90-dll-not-found-missing-error.htm
【讨论】:
我意识到我已经安装了 Microsoft Visual C++ 2008 Redistributable Package,所以我只是修复了它,但它并没有解决问题。
然后我查找配置,发现“Generate Manifest”在 Release 中为“No”,而在 Debug 中为“Yes”。
所以我改变并再次尝试然后它起作用了。
我不知道这个配置可能会产生这样的影响,(我不记得我什么时候改变的)
无论如何..感谢您的其他答案...
【讨论】:
CONFIG += embed_manifest_exe 添加到您的 .pro 文件中即可。
检查您的项目设置。如果您没有为发布版本生成清单,则 DLL 需要位于 System32 目录中。
此外,如果您的 Release 和 Debug 构建将进入同一目录,它可能会看到 Debug 清单,这会将其指向 DLL 的调试版本。最好的办法是为所有构建生成嵌入式清单。
【讨论】:
有几个文件使 Visual C++ 运行时,您可能会遇到任何相同的问题。您可以查看有关以下任何文件的其他问题。
【讨论】:
您可能在发布配置中关闭了嵌入项目的清单。
【讨论】: