4

我正在运行 Eclipse,我知道这是一个常见问题(尝试做一些 JNA),但我在网上找到的所有修复都不起作用:

  • 该库是 32 位的,但是当我执行 sun.arch.data.model 的 getProperty 时,它是 32,所以这不是问题。
  • 我尝试将我的 dll 放在 src 文件夹中,在我的 Eclipse 项目的根目录中,但没有任何效果。
  • 我试过做 System.setProperty("jna.library.path","c:/libtesseract302.dll"); 然后把我的dll放在那里,但这不起作用。

这是我用来尝试包含本机库的代码:

public static final TessAPI INSTANCE = (TessAPI) Native.loadLibrary("libtesseract302", TessAPI.class);
4

1 回答 1

7

你需要另一个 dll,它是一个 libtesseract302 依赖项:“liblept168.dll”(可以在这里找到:http://code.google.com/p/tesseract-ocr/source/browse/trunk/vs2008/lib/liblept168。 dll?r=553 )

尝试这样的事情:

将两个 dll 文件放在同一个文件夹中(比如说 tesseractlib )

在您的代码中,在加载模块之前,添加:

System.setProperty("jna.library.path", "tesseractlib");

(顺便说一句,您也需要使用 32 位 jvm,两个 dll 都是 32 位而不是 64 位库,并且不能在 64 位 jvm 中加载)

于 2013-08-26T16:21:47.933 回答