Windows上解决无法定位程序输入点“*”于“*.dll”上的思路方法


dll是Windows世界的支柱,在开发一个Windows应用程序时,为了模块化降低耦合,需要将一些独立的功能独立成dll,而这些dll又可能引用了第三方的dll

程序构建成功后,运行,结果出现了运行时的错误:

无法定位程序输入点*于动态链接库*.dll上。

遇到此类问题,一般无从下手。

一般性思路:

打开depends.exe,在其中打开出错的dll

在左侧查看错误的依赖dll是哪个,一般忽略系统dll

点到出错的依赖dll上,我这里是libcrypto-1.1-X64.dll

看右侧的导入导出项目,仔细观察可以发现EVP_rc5_32_12_16_ofb果然存在问题

使用everything搜索,发现这个依赖dllopenssl中的东西,项目中已经更换了openssl的版本为1.1.1,于是需要将1.1.1版本的libcrypto-1.1-X64.dll拷贝至运行目录,至此解决!

总结:得益于depends.exe工具,在分析dll问题时首先应该想到它!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM