梦幻西游无法定位到动态链接库程序输入点GetNetworkParams于动态链接...

当前位置>>>
有网友反映在打开程序的时候,就会弹出“无法定位程序输入点于动态链接”的提示框,大家都不知道如何解决。小编没有遇到过这种情况,综合网上的一些资料,最终总结出这个问题产生的原因。一、电脑中毒现在很多流行的木马都会替换系统文件,将真正的系统文件改名,如“lpk.dll”、“midimap.dll”等都会被木马重新命名。即使使用杀毒软件杀毒之后,也没有将被修改的系统文件名改回来,所以打开应用程序的会出现上述的提示框。二、随意删除文件或者更新程序除了木马破坏会导致这种问题,有时候大家经常更新电脑程序和随意删除系统文件也有可能造成这种情况。这就需要大家仔细回忆在此问题出现之前,执行过哪些操作,重新下载软件覆盖***,同样也可以解决此问题。编者提示:大家一定要重点检查弹出提示框中的dll文件是否存在异常,将这个文件重新复制一份到相应的目录下即可解决问题。
少侠请留名开发环境(6)
最近开始回过头来做一些视觉方面的工作。重新着手使用自己笔记本上配的工作环境。
工作环境:win7 32bit + vs2010 + opencv244
关于opencv的编译和配置,当时主要参考的是如下这篇博文。
/freedomshe/archive//win7_vs2012_opencv_rebuild.html
----------------------------------
现在重新开始在vs环境下使用opencv,先用最简单的highgui函数熟悉下使用流程测试下库有没有问题。然后还真发现问题了。
1. debug下,库配置正确,运行正常无问题。
2. release下,库配置也正确,但是在生成完要运行时,出现问题:
第一反应是tbb.dll的路径配置不正确。于是查看系统设置下环境变量中的path项下是否正确输入了tbb.dll所在路径。查看后发现无误,而且确实应该无误,如果有错误的话那么debug版本的dll也会出现类似的问题。
然后尝试 把path路径下的tbb.dll文件拷贝至项目的可执行文件.exe所在的路径下,重新运行项目,发现运行成功了。
这下更奇怪了。感觉是默认运行的时候调用的tbb.dll文件不是我希望调用的版本。超出能力范围了,需要求助。
------------------------------------
1. 在stackoverflow上,找到了
其中提到,出现这种错误,很大可能是因为,在生成exe时所使用的lib文件的版本,和在运行exe时所调用的dll的版本不一致。
考虑到我在生成exe时使用的lib对应的dll文件确实存在,但没有得到正确的调用,所以必须了解exe文件在运行时寻找和调用dll文件的搜索路径。
2. 通过百度查找到该博文
文中阐明了可执行文件在运行时寻找和调用dll文件的路径搜索顺序。一般是:
A 可执行文件所在目录;B 进程当前目录;C 系统目录,%SystemRoot%/system32D 16位系统目录;,%SystemRoot%/systemE Windows目录,%SystemRoot%/F 环境变量PATH中的目录;
果不其然,我在自己电脑的C:\Windows\System32文件夹下发现了另外的tbb.dll。。。。不知道啥时候自带的呢,额,替换之或删除之,问题即可解决
3.通过2中的博文,可以看到利用filemon监视工具是个观察搜索路径顺序的不错工具
有空参见&,今天受限于时间先略过。
4.如下两篇msdn上的资料帮我重新梳理了windows下动态链接库调用方面的知识,在此一并表示感谢
/zh-cn/library/253b8k2c.aspx
/zh-cn/library/7d83bc18.aspx
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4100次
排名:千里之外
原创:14篇
(1)(2)(3)(6)(3)

参考资料

 

随机推荐