多语言展示
当前在线:693今日阅读:84今日分享:32

java.lang.UnsatisfiedLinkError

公司开发需要java对接C,引用到了 jna,报出如下错误java.lang.UnsatisfiedLinkError: The specified module could not be found.Exception in thread 'main' java.lang.UnsatisfiedLinkError: The specified module could not be found. at com.sun.jna.Native.open(Native Method) at com.sun.jna.Native.open(Native.java:1759) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:260) at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398) at com.sun.jna.Library$Handler.(Library.java:147) at com.sun.jna.Native.loadLibrary(Native.java:412) at com.sun.jna.Native.loadLibrary(Native.java:391)java.lang.UnsatisfiedLinkError出现这种错误的原因是一般是java虚拟机找不到声明为native方法的本地语言定义时,出现的错误。在我的理解过程中我一般都认为是由于导入dll或者导入lib文件不正确导致的. 遂思路转向 gtp.dll 的依赖 参考github tess4j issues发现神器 Dependency Walker
工具/原料
1

Dependency Walker

2

Microsoft Visual C++

方法/步骤
2

打开 depends.exe左上角 file –》 open –》 选择 调用的 dll 文件  ,,我这个相关的是 gtp.dll你的对应你的 all文件

4

下载 dll文件

5

参考如何解决vs2015运行缺少ucrtbased.dll的问题下载UCRTBASED.DLL  搜索UCRTBASED.DLL

6

下载保存UCRTBASED.DLL

7

解压到指定目录

8

安装所有依赖参考 4 5 6 7  安装所有依赖

9

解决问题

注意事项
1

1、Windows 95/98/Me系统,将ucrtbased.dll复制到C:\Windows\System目录下。

2

2、Windows NT/2000系统,将ucrtbased.dll复制到C:\WINNT\System32目录下。

3

3、Windows XP/WIN7/win10系统 如果您的系统是 64位 的请将ucrtbased.dll文件复制到C:\Windows\SysWOW64目录下, 如果您的系统是 32位 的请将ucrtbased.dll文件复制到C:\Windows\System32目录下。

推荐信息