Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 MFC与动态链接_Visual Studio 2008_Dynamic_Mfc_Linker_Freeze - Fatal编程技术网

Visual studio 2008 MFC与动态链接

Visual studio 2008 MFC与动态链接,visual-studio-2008,dynamic,mfc,linker,freeze,Visual Studio 2008,Dynamic,Mfc,Linker,Freeze,我遇到了MFC问题 我读了很多关于链接、静态与动态以及它们之间的区别的书 我的项目是一个开源项目,大约有2000个文件我还没有写,我刚刚调整了项目 我现在的问题是,我希望能够将程序克隆到另一台计算机上。 第一台计算机可以运行该程序,我认为这是可能的,因为VS 2008 Proffetic已安装,这意味着所有DLL都存在。在第二台计算机上,程序启动但冻结,我认为这意味着它找不到DLL或可能是错误的版本 我尝试过静态链接,但由于该项目包含大量的AFXDLL代码,因此无法编译。我已经使用depends

我遇到了MFC问题

我读了很多关于链接、静态与动态以及它们之间的区别的书

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

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

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

我的问题是,有没有办法知道为什么我的程序会冻结?在机器上安装VS似乎可以做到这一点,因此我假设VS pro复制了一些我不知道的重要文件。如果是,有没有找到这些文件的好方法

问题现在解决了

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


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

弗里兹,停止工作还是??你用过LoadLibrary吗??我没有错,你在处理动态链接。箭头变成了沙漏。我已经搜索了另一台计算机,可能还没有重新分发正确版本的DLL。找到要重新分发的dll的链接