我在64位Windows7上用Visual Studio2010编写了一个程序。当我尝试在32位Windows XP上运行它时,我收到消息msvcr100.dll丢失。当我尝试将该文件从Win7复制到WInXP时,我收到消息msvcr100.dll是错误的。如何在VS中设置构建,以便msvcr100.dll不是必需的?
发布于 2010-09-22 18:59:14
首先,你需要确保你构建的是一个32位的可执行文件-- 64位的文件不能在32位的Windows上运行。
然后你可以选择...
与您的application.
Multi-threaded (/MT).设置为Project -> Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime Library
发布于 2010-09-22 19:04:52
静态链接运行时库应该会有所帮助。转到“项目”“选项”“-> C/C++”“->代码生成和运行时库”,将该值更改为“Multithreaded”或“Multithreaded Debug -> recompile”。这样,您的应用程序就不应该依赖于运行时DLL。
另外,不要忘记构建一个32位的可执行文件。
发布于 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。
https://stackoverflow.com/questions/3768522
复制相似问题