我在Windows 7 64位上在Visual Studio 2010上制作了一个程序。当我尝试在Windows XP 32位上运行它时,我会收到MSVCR100.dll缺少的消息。当我尝试将该文件从win7复制到winxp时,我收到消息说msvcr100.dll是错误的。如何在vs中设置建筑物,以便msvcr100.dll不需要?

有帮助吗?

解决方案

首先,您需要确保构建32位可执行文件-64位不会在32位窗口上运行。

那你可以...

  • 32位重新分布物 使用您的申请。
  • 完全删除运行时依赖关系,然后静态链接到C ++运行时间。为此,设置 Project -> Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime LibraryMulti-threaded (/MT).

其他提示

静态链接运行时库应该有所帮助。转到项目选项 - > c/c ++ - >代码生成 - >运行时库,然后将值更改为多线程或多线程调试和重新编译。这样,您的应用程序不应取决于运行时DLL。

也不要忘记构建32位可执行文件。

上面的答案帮助了我,但是我仍然遇到错误:

致命错误C1189:#Error:请使用 /MD开关_afxdll构建

因此,为了帮助其他可能像我这样的人花费太多时间来寻找清晰的解决方案,我想添加一些为我解决这个问题的信息。事实证明,我的项目错误的“使用MFC”设置可以使用上面的答案。

用清楚地说:

打开项目属性(Alt-F7或Project-Menu-> [我的项目]属性),然后转到 Project -> Properties -> Configuration Properties

如果 General -> Use of MFC 设定为 Use MFC in a Static Library

您必须设置

C/C++ -> Code Generation -> Runtime Library

要点 Multi-threaded Debug (/MTd) 或者 Multi-threaded (/MT)

而如果

General -> Use of MFC 设定为 Use MFC in a Shared DLL

您必须设置

C/C++ -> Code Generation -> Runtime Library

要点 Multi-threaded DLL (/MD) 或者 Multi-threaded Debug DLL

我从 微软社区答案网站 所有的信用都应该去 大卫·威尔金森.

在此处输入图像说明

第1步。: :转到此网站dll-files.com。在此处输入图像说明

dll-files.com是Windows DLL文件的绝佳存储库,几乎具有Windows上存在的所有DLL文件。

第2步。 现在,在网站的搜索窗口中键入您的DLL错误。

步骤3. dll-files.com将立即列出包含该特定DLL文件的zip文件。将此ZIP文件下载到您的计算机并提取。提取的文件夹将包含DLL错误文件。

在此处输入图像说明

步骤4.复制下载DLL文件(仅该文件),然后根据下面的操作系统将该文件粘贴到默认系统文件夹中。 C:WindowsSystem(Windows 95/98/ME)C:Winnt System32(Windows NT/2000)C: Windows System32(Windows XP,Vista,Windows 7/Windows 7/Windows 8.1/Windows 10)

Windows会问您是否要用新文件替换现有的DLL文件。说是,让Windows复制文件。重新启动计算机和瞧,您现在可以运行未打开并轻松给出DLL错误的游戏/应用程序。

还有许多其他网站会给您您想要的DLL文件

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top