【问题标题】:Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library线程“主”java.lang.UnsatisfiedLinkError 中的异常:无法加载库
【发布时间】:2014-02-12 17:11:29
【问题描述】:

我正在尝试使用Tesseract 创建一个 OCR 应用程序。我下载了 Tesseract 库并测试了代码示例。但它给出了与libtesseract302.dll 文件相关的错误。请告诉我该怎么做,因为我是初学者!

错误是:

线程“主”java.lang.UnsatisfiedLinkError 中的异常:无法加载库“libtesseract302”:在资源路径([file:/C:/Users)中找不到本机库(win32-x86-64/libtesseract302.dll) /neel/Documents/NetBeansProjects/Tess4J/lib/jna.jar,文件:/C:/Users/neel/Documents/NetBeansProjects/Tess4J/lib/jai_imageio.jar,文件:/C:/Users/neel/Documents/NetBeansProjects /Tess4J/lib/ghost4j-0.3.1.jar,文件:/C:/Users/neel/Documents/NetBeansProjects/Tess4J/lib/junit-4.10.jar,文件:/C:/Users/neel/Documents/NetBeansProjects /Tess4J/build/classes/,文件:/C:/Users/neel/Documents/NetBeansProjects/Tess4J/src/]) 在 com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:271) 在 com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398) 在 com.sun.jna.Library$Handler.(Library.java:147) 在 com.sun.jna.Native.loadLibrary(Native.java:412) 在 com.sun.jna.Native.loadLibrary(Native.java:391) 在 net.sourceforge.tess4j.TessAPI.(TessAPI.java:38) 在 net.sourceforge.tess4j.Tesseract.init(Tesseract.java:286) 在 net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:222) 在 net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:173) 在 net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:158) 在 net.sourceforge.tess4j.example.TesseractExample.main(TesseractExample.java:14)

【问题讨论】:

    标签: java ocr tesseract


    【解决方案1】:

    我一直在研究 Tess4j 并且遇到过类似的问题

    i 如果您尝试在 64 位 JVM 环境中编译代码,那么即使您已将 .dll 文件放在项目文件夹中,也可能会显示此消息

    ii 如果您尚未安装 Microsoft Visual C++ 2008 可再发行组件(特别是 2008),请先安装它,它可能会起作用 http://www.microsoft.com/en-in/download/details.aspx?id=29

    【讨论】:

    • 如何在 linux 应用服务器上安装它?您提供的链接看起来仅适用于 Windows
    【解决方案2】:

    异常是由于您尝试在 64 位 JVM 中加载 32 位 DLL。使用兼容的 64 位 DLL 重试。检查Tess4J Usage 页面以获取更新信息。

    【讨论】:

    • 谢谢!你能告诉我从哪里下载这些文件吗?我打开了链接Tesseract .NET wrapper,但页面有点坏了。我找不到下载链接。你能告诉我确切的路径吗?
    • 我刚刚验证了 Tesseract .NET 包装器链接是否正常工作。进入页面后,单击文件并选择 Raw 进行下载。
    • 我下载了 .dll 文件。它仍然给出同样的错误。我将这些文件复制到主 tess4j 文件夹和 lib 文件夹中!
    • 我将 dll 复制到 system32 并得到了输出!非常感谢您的帮助。
    【解决方案3】:

    试试这个

    -Djna.library.path=${workspace_loc:/ocr-tess4j-example}/dll/win32-x86-64

    -Djna.library.path=path/to/dlls

    【讨论】:

      【解决方案4】:

      是的,即使我遇到了“msvcr110.dll 丢失”之类的错误,然后我下载并安装了“Microsoft Visual C++ 2008 redistributable”,它现在可以正常工作了。

      希望这对你也有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多