最近做项目,需要调用dll库,出现了一些问题,此处记录下,以免再踩坑。
报Unable to load library 'xxx.dll',
等错误
1.将你要用到的dll库放到 “C:\Windows\System32” 下,再次尝试,可能会成功
2.CMD运行 “java -d32 -version” 查看你的java环境,若是32位显示如下
若不是32显示如下
java环境切换具体方法:
将要使用的jdk文件下,bin目录中的“java.exe”和“javaw.exe”替换至“C:\Program Files (x86)\Common Files\Oracle\Java\javapath”下,即可完成切换
3.可以用depends.exe工具检测DLL文件的相关依赖,下载地址(官网):Dependency Walker (depends.exe) Home Page,可以选择32位版的,或者是64位版本的。运行工具对DLL进行检测,发觉确实少了依赖包,
则可到https://www.ghxi.com/yxkhj.html下载最新的微软常用运行库合集。此方法也可解决部分找不到dll问题
4.排查所使用的dll动态库是否为最新版本,若不是,更新为最新版本
5.部分动态库在启用过程中,文件大小会被改变,(目前不清楚是什么原因,希望有遇到的老铁能解答下),将被改变得dll删除,去官网下载原始的dll版本,然后将dll的文件属性改为只读,(目前被解决了,不知道还会不会再次出现这个问题,后续跟进中...)