【发布时间】:2015-09-09 08:06:49
【问题描述】:
我最近继续了一个我曾经使用 MFC 使用 Visual Studio 6 开发的项目。
我至少有 4 年没有碰过代码了。
这一切都在 VS6 上编译得很好。
但是现在我安装了 VS2015,转换了项目并修复了一些在 VS2015 上无法编译的代码。
所以一切都很顺利。但是当我尝试在干净的 Windows 10 系统上启动 exe 时,它说缺少运行时 dll(例如 MFC140u.dll)
我知道我可以安装 VC++ 发行版来让我的应用程序正常工作,但我的应用程序的大小只有 325kB。
但我可以看到 MFC42u.dll 在这个空白的 Win 10 系统上。所以已经有一个包含 MFC 的 VC++ 运行时。
我只是不想在每个系统上都安装一个新的 VC++ 运行时,为什么不使用现有的呢?
谁能告诉我在使用VS2015时如何链接到MFC42?
提前致谢。
【问题讨论】:
-
据我所知,您需要在 exe 中包含 MFC14 dll。 MFC42 与 VS6 相关。正如您现在使用 VS2015 编译的那样,您的应用程序现在使用 MFC14 dll。不能用安装程序打包吗?
-
对于 325kb 的应用程序要打包大约 5mb?那对我来说没有选择。我仍然可以使用 VS6 编译应用程序并且它会运行,但这不是我满意的工作流程。
-
不能选择静态链接 MFC?
-
我在项目设置中选择了“在静态库中使用 MFC”,但这并没有改变任何东西。空白的win10系统仍然抱怨缺少MFC dll。甚至 exe 的大小都与我选择“在共享 Dll 中使用 MFC”相同
-
该文件仅供 Microsoft 私人使用,不适合一般应用程序使用。您没有它的导入库,因此您无法说服链接器使用它。只运行redist installer 是非常简单的解决方案。
标签: c++ mfc visual-studio-2015