无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上
(2017-03-22 20:18:18)分类: 计算机程序设计 |
今天把一个在win7上写的程序移到 xp
系统上,然后报错无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上。
看了网上很多说法,说是dwmapi.dll 引用了 msvcrt.dll
中的 _except_handler4_common方法,通过dependens walk 的确可以看到
dwmapi.dll中引用了 _except_handler4_common 这个函数。msvcrt.dll 的xp版本中并没有 _except_handler4_common
这个函数,所以会出错。
看了网上很多说法,说是
提示的解决方案也是要么删掉 dwmapi.dll
要么就是改名。但是这都治标不治本。根本不是问题的根源。https://wenku.baidu.com/view/8279d7f4f61fb7360b4c65ba.html
说的稍微全面点。
正常来说也是用它说的方法来解决这个问题。
我使用windbg调试的时候发现
是prosys.dll
这个动态链接库使用了 _except_handler4_common
这个函数。刚开始的时候提示的 是 缺少 prosys.dll
,然后自己懒得动手下载prosys 就直接把win7的里面的这个dll 拷贝过来了,然后各种操作后就提示了
“ 无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上”。
其实问题的根源在于自己使用了错误版本的prosys.dll
这个文件。
所以如果你也遇到了这个问题,或者类似的这个问题,而网上教你的方法解决不了的时候,请记得用windbg调试下,看看到底是因为什么原因引起的。
不过大概率就是dll的版本问题,新版本引入了一些新的方法,但是老的版本没有,以至于找不到该方法。
前一篇:hevc视频下载的神奇一刻
后一篇:线性回归公式与推导