fgets 提供资产,试图重新分发 vs2010 MFC 应用程序

fgets gives assetion, trying to redistribute vs2010 MFC application

本文关键字:vs2010 应用程序 MFC fgets      更新时间:2023-10-16

>我有一个简单的应用程序,它可以读取一些文本文件并进行一些计算并写入一些文本文件。 在我的开发机器(Server2008R2 VC++ 2010)上完美运行。 我无法让它在 Win7 机器上运行,即使认为我已经安装/运行了 vs2010 重新分发 x86。

我得到的第一个错误是缺少 mfc100ud.dll(是的,我正在使用调试,如果我尝试发布它只会崩溃,因为调试会告诉您出了什么问题)。 我把 mfc100ud.dll 放在应用程序的目录中,现在 fgets 断言如下所示。 str 不为空,文件已成功打开。

我错过了什么?

我的目标是只在 Win7 计算机上运行 MFC 应用程序,而无需安装 vs2010。

另一个考虑因素,我使用 MFC 的唯一原因是 COLETimeDate 功能。 我一直在寻找替代方案,但没有找到任何可行或易于使用的东西。

谢谢。

断言错误

如果文件流指针(由 fopen 提供)为 NULL,则会发生此错误。使用 fopen 后是否有可能没有任何错误检查?

基本上使用"静态链接"到 MFC 和 CRT。比不需要安装和复制任何运行时文件。

可再发行组件程序集仅适用于发布版本。如果确实要分发调试版本,则有两个选项:

  • 静态链接应用,因此不需要任何共享 DLL(如 MFC100ud.dll)
  • 与应用
  • 一起分发(在应用文件夹中)所有依赖 DLL。 可以使用依赖项检查依赖项.exe