【发布时间】:2019-03-30 03:27:22
【问题描述】:
两个相关问题:
- 我有一个想要分发的 32 位 MFC 程序,我希望它在 32 位或 64 位 Windows 下运行。我是否可以只包含 x86 可再发行组件,因为我的程序是 32 位的,或者我是否需要同时包含 x86 和 x64 可再发行组件,因为用户机器可以运行 32 位或 64 位 Windows?
- 虽然我的代码是使用 VS2017 编译的,但我必须包含一个我怀疑可以追溯到 2010 年左右的外部 DLL。我需要包含来自旧版本 VS 的可再发行组件,还是最新版本包含所有以前的?具体来说,用户报告我的应用程序在安装我的应用程序(包括 VS2017 x86 可再发行组件)后无法运行并显示消息“msvcp110.dll is missing”。 谢谢你的帮助。我希望我可以使用干净的 Windows 机器来尝试一下,但我没有。
【问题讨论】:
-
虽然我的代码是使用 VS2017 编译的,但我必须包含一个我怀疑可以追溯到 2010 年左右的外部 DLL。 这可能是一个严重的问题。 Visual Studio 2017 仅与 VS 2015 兼容。没有其他版本的 Visual Studio 兼容。请务必隔离跨 dll 边界的内存分配。并且不要在任何 dll 接口中使用标准库。
-
不是真的,取决于它是如何编写的。如果在库内正确分配和释放,没问题。
标签: c++ mfc version backwards-compatibility redistributable