2013-06-26 28 views
3

我正在運行Eclipse,我知道這是一個常見問題(試圖做一些JNA) ,但我在網上找到了修復不起作用:線程「main」中的異常java.lang.UnsatisfiedLinkError:無法加載庫'libtesseract302':找不到指定的模塊

  • 圖書館是32位的,但是當我做sun.arch.data.model的的getProperty是32所以這不是問題。
  • 我試過把我的dll放在我的eclipse項目的根目錄下的src文件夾中,但沒有任何效果。我試過做System.setProperty(「jna.library.path」,「c:/libtesseract302.dll」);然後把我的dll放在那裏,但那是行不通的。

下面是我用它來嘗試包括本地庫中的代碼:

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

'jna.library.path'應該是一個路徑規格(即目錄列表),*不*文件路徑。 – technomage

回答

6

你需要另一個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)

+0

它爲我工作:) – DarkHorse

相關問題