我遇到了MFC问题。
我已经阅读了很多关于链接,静态与动态以及它们之间的差异的内容。
我的项目是一个开源项目,有大约2000个文件,我还没写过,我刚刚调整了项目。
我现在的问题是我希望能够将程序克隆到另一台计算机。 第一台计算机可以运行该程序,我认为这是可能的,因为安装了VS 2008 proffesional,这意味着所有DLL都存在。在第二台计算机上,程序启动但冻结,我认为这意味着它无法找到DLL或者可能是错误的版本。
我尝试过静态链接,但由于项目包含一小部分_AFXDLL代码,因此无法编译。我使用depends.exe生成依赖关系报告,解析报告并检查是否所有文件都存在。在两台计算机上都存在所有DLL文件。
我的问题是,无论如何都知道为什么我的程序冻结了?在机器上安装VS似乎可以解决问题,所以我假设VS专业版复制了一些我不知道的重要文件。如果是这样,有没有找到这些文件的好方法?
答案 0 :(得分:1)
问题现在解决了!
答案很简单,CRT和MFC文件有不同的版本。为了确保版本始终相同,可以将文件与应用程序一起重新分发。 Jochen Kalmbach写了一篇关于如何做到这一点的非常简单而精确的教程here。
我希望这个答案有助于其他人! :)