首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少msvcr100.dll

缺少msvcr100.dll
EN

Stack Overflow用户
提问于 2010-09-22 18:57:14
回答 4查看 17K关注 0票数 10

我在64位Windows7上用Visual Studio2010编写了一个程序。当我尝试在32位Windows XP上运行它时,我收到消息msvcr100.dll丢失。当我尝试将该文件从Win7复制到WInXP时,我收到消息msvcr100.dll是错误的。如何在VS中设置构建,以便msvcr100.dll不是必需的?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-22 18:59:14

首先,你需要确保你构建的是一个32位的可执行文件-- 64位的文件不能在32位的Windows上运行。

然后你可以选择...

与您的application.

  • Remove一起发布
  • the 32 bit redistributables的运行时依赖项,并静态地链接到C++运行时。为此,请将Multi-threaded (/MT).

设置为Project -> Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime Library

票数 16
EN

Stack Overflow用户

发布于 2010-09-22 19:04:52

静态链接运行时库应该会有所帮助。转到“项目”“选项”“-> C/C++”“->代码生成和运行时库”,将该值更改为“Multithreaded”或“Multithreaded Debug -> recompile”。这样,您的应用程序就不应该依赖于运行时DLL。

另外,不要忘记构建一个32位的可执行文件。

票数 2
EN

Stack Overflow用户

发布于 2013-10-07 09:32:51

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

致命错误C1189:#error :请对_AFXDLL生成使用/MD开关

因此,为了帮助其他像我一样花了太多时间寻找明确解决方案的人,我想补充一点信息,为我解决这个问题。结果,我的项目使用了错误的"Use of MFC“设置来使用上面的答案。

简而言之:

打开项目属性(alt-F7或项目-菜单->我的项目属性),然后转到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

我从Microsoft community answers website得到了这个答案,所有的功劳都应该归功于David Wilkinson

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3768522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档