tess4j jna UnsatisfiedLinkError
tess4j jna UnsatisfiedLinkError
我在 maven 下使用 Tess4J,我已经使用了 pom 依赖项,一切都很好地下载到 .m2 存储库中,我还从 source forge 下载了 tess4j jna 包装器。但是无论我做什么,我仍然会收到此异常:
Looking in classpath from sun.misc.Launcher$AppClassLoader@73d16e93 for /com/sun/jna/win32-x86-64/jnidispatch.dll
Found library resource at jar:file:/C:/Users/user/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar!/com/sun/jna/win32-x86-64/jnidispatch.dll
Looking for library 'libtesseract305'
Adding paths from jna.library.path: C:\Tess4J\lib\win32-x86-64;C:\Tess4J\lib;C:\Users\user\AppData\Local\Temp\tess4j\win32-x86-64
Trying C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
Adding system paths: []
Trying C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
Looking for lib- prefix
Trying liblibtesseract305.dll
Looking in classpath from sun.misc.Launcher$AppClassLoader@73d16e93 for libtesseract305
Found library resource at jar:file:/C:/Users/user/.m2/repository/net/sourceforge/tess4j/tess4j/3.3.1/tess4j-3.3.1.jar!/win32-x86-64/libtesseract305.dll
Exception in thread "main" java.lang.UnsatisfiedLinkError: Le module spécifié est introuvable.
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.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:412)
at com.sun.jna.Native.loadLibrary(Native.java:391)
at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:75)
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42)
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196)
at com.mycompany.mavenproject1.NewClass.main(NewClass.java:20)
我尝试将 -Djna.library.path 添加到我的 libtessract305.dll 但没有成功
我该怎么办?
这个解决方案对我有用,tesseract 或 tess4j 依赖于 vs2015 而不是 vs2013,正如我在某些线程中发现的那样。我所做的只是安装 Visual C++ 2015 Redistributable Packages。它工作正常
感谢帮助
这取决于您当前使用的是哪个版本的Tess4j。
假设,
版本 3.2.1 与 2010 VC++ 兼容,但对于
版本 3.4.1,您需要升级到 VC++ 2013.
这完全是关于 DLL 与 VC++ 版本的兼容性。
为 Tess4J 使用 Visual C++ 2017 Redistributable 4.x.
我在 maven 下使用 Tess4J,我已经使用了 pom 依赖项,一切都很好地下载到 .m2 存储库中,我还从 source forge 下载了 tess4j jna 包装器。但是无论我做什么,我仍然会收到此异常:
Looking in classpath from sun.misc.Launcher$AppClassLoader@73d16e93 for /com/sun/jna/win32-x86-64/jnidispatch.dll
Found library resource at jar:file:/C:/Users/user/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar!/com/sun/jna/win32-x86-64/jnidispatch.dll
Looking for library 'libtesseract305'
Adding paths from jna.library.path: C:\Tess4J\lib\win32-x86-64;C:\Tess4J\lib;C:\Users\user\AppData\Local\Temp\tess4j\win32-x86-64
Trying C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
Adding system paths: []
Trying C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
Looking for lib- prefix
Trying liblibtesseract305.dll
Looking in classpath from sun.misc.Launcher$AppClassLoader@73d16e93 for libtesseract305
Found library resource at jar:file:/C:/Users/user/.m2/repository/net/sourceforge/tess4j/tess4j/3.3.1/tess4j-3.3.1.jar!/win32-x86-64/libtesseract305.dll
Exception in thread "main" java.lang.UnsatisfiedLinkError: Le module spécifié est introuvable.
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.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:412)
at com.sun.jna.Native.loadLibrary(Native.java:391)
at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:75)
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42)
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196)
at com.mycompany.mavenproject1.NewClass.main(NewClass.java:20)
我尝试将 -Djna.library.path 添加到我的 libtessract305.dll 但没有成功
我该怎么办?
这个解决方案对我有用,tesseract 或 tess4j 依赖于 vs2015 而不是 vs2013,正如我在某些线程中发现的那样。我所做的只是安装 Visual C++ 2015 Redistributable Packages。它工作正常
感谢帮助
这取决于您当前使用的是哪个版本的Tess4j。
假设, 版本 3.2.1 与 2010 VC++ 兼容,但对于 版本 3.4.1,您需要升级到 VC++ 2013.
这完全是关于 DLL 与 VC++ 版本的兼容性。 为 Tess4J 使用 Visual C++ 2017 Redistributable 4.x.