0

我有一个程序,它具有MSVCP100D.DLLMSVCR100D.DLLx64 版本的依赖关系。

这是电脑中DependencyWalker的截图:

在此处输入图像描述

当我将此程序复制到我朋友的计算机时,它无法运行,因为没有这两个文件。然后我将2个dll文件复制到他的电脑上。

但是在执行程序的时候报错了,我用dependency walker检查的时候发现了一个很奇怪的东西。这是他的截图:

在此处输入图像描述

为什么它们在我的计算机中是“x64”而在他的计算机中是“x86”?如何解决?


更新

我朋友的系统也是win7 x64。

4

1 回答 1

1

最后,几个小时后,我们修复了它。奇怪的事情太多了。

第一的。我的系统是win7 x64。

这里举个MSVCP100D.DLL例子。我的电脑里有两个不同的MSVCP100D.DLL ,一个在. windows/system32,一个在windows/SysWOW64. 它们有不同的尺寸。

看截图: 在此处输入图像描述

但是在“一切”中,它们的大小相同(甚至修改日期相同),我认为它们是相同的。

在此处输入图像描述

然后我通过一个名为QQ的IM软件从system32发送dll。

我拖出来的文件windoes/system32是991K,但是QQ显示的大小是“726K”:

在此处输入图像描述

但是,如果我将文件复制到另一个目录,例如D:\,然后再次发送,大小是正确的“991K”。

最后,我把这些dll文件复制到另一个目录,打包成zip文件,发送正确,程序在朋友的电脑上运行良好。

于 2012-08-07T14:54:59.030 回答