0

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

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

我错过了什么?

我的目标是在 Win7 机器上运行 MFC 应用程序,而不必安装 vs2010。

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

谢谢。

断言错误

4

2 回答 2

0

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

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

于 2013-09-18T08:34:39.357 回答
0

可再发行程序集仅可用于发布版本。如果您真的想分发调试版本,您有两种选择:

  • 静态链接您的应用程序,因此您不需要任何共享 DLL(例如 mfc100ud.dll)
  • 与您的应用程序(在您的应用程序文件夹中)一起分发所有相关的 DLL。您可以使用depends.exe检查依赖关系
于 2013-09-18T08:38:50.303 回答