MFC和动态链接

时间:2013-08-21 09:24:33

标签: visual-studio-2008 dynamic mfc linker freeze

我遇到了MFC问题。

我已经阅读了很多关于链接,静态与动态以及它们之间的差异的内容。

我的项目是一个开源项目,有大约2000个文件,我还没写过,我刚刚调整了项目。

我现在的问题是我希望能够将程序克隆到另一台计算机。 第一台计算机可以运行该程序,我认为这是可能的,因为安装了VS 2008 proffesional,这意味着所有DLL都存在。在第二台计算机上,程序启动但冻结,我认为这意味着它无法找到DLL或者可能是错误的版本。

我尝试过静态链接,但由于项目包含一小部分_AFXDLL代码,因此无法编译。我使用depends.exe生成依赖关系报告,解析报告并检查是否所有文件都存在。在两台计算机上都存在所有DLL文件。

我的问题是,无论如何都知道为什么我的程序冻结了?在机器上安装VS似乎可以解决问题,所以我假设VS专业版复制了一些我不知道的重要文件。如果是这样,有没有找到这些文件的好方法?

1 个答案:

答案 0 :(得分:1)

问题现在解决了!

答案很简单,CRT和MFC文件有不同的版本。为了确保版本始终相同,可以将文件与应用程序一起重新分发。 Jochen Kalmbach写了一篇关于如何做到这一点的非常简单而精确的教程here

我希望这个答案有助于其他人! :)