在 Windows 7 中构建的 VC++ 程序不能在 Windows Xp 上运行
Posted
技术标签:
【中文标题】在 Windows 7 中构建的 VC++ 程序不能在 Windows Xp 上运行【英文标题】:VC++ programs build in Windows 7 don't run on Windows Xp 【发布时间】:2011-07-11 19:03:31 【问题描述】:我在 Windows 7 的 Visual C++ 中创建了一个小的 WIN32 Console Application
。
当我尝试在 Windows Xp 上运行这个应用程序时,它给了我一个错误提示
此应用程序启动失败 因为没有找到 MSVCR100D.dll。 重新安装应用程序可能会修复 这个问题。
那么我如何静态构建这个应用程序以使其包含 MSVCR100D.dll
?或
我是否必须从 Windows 7 中复制 MSVCR100D.dll
并将其粘贴到 Windows Xp 中的某个位置?
谢谢。
【问题讨论】:
【参考方案1】:MSVCR100D.dll 不是 Win7 DLL,它是 MSVC2010 DLL。您可以通过在项目属性中(在 C/C++ -> 代码生成下)将 RuntimeLibrary 从 MD(d) 更改为 MT(d) 来使用静态链接。
【讨论】:
你知道在代码生成中需要改变什么吗?是运行时库吗? 您也可以在 WinXP 机器上安装 VC++ 2010 运行时库 (microsoft.com/downloads/en/…),但这仅在您为零售配置构建应用程序时才有帮助(MSVCR100D 中的“D” .dll 表示您正在为调试构建)。不允许将 Microsoft 调试 DLL 分发到其他计算机。 @PhilMY 感谢您的宝贵建议。 :)以上是关于在 Windows 7 中构建的 VC++ 程序不能在 Windows Xp 上运行的主要内容,如果未能解决你的问题,请参考以下文章
cx_freeze include_msvcr 不捆绑 windows VC2015 运行时
在 Windows 7 中使用 VC++ 和 C# 中的 MemoryMappedFiles 或命名管道进行进程间通信
是否可以在 cygwin gcc build 中使用在 VC++ 下构建的库?