2013-08-24 42 views
2

我在eclipse中使用tess4J ocr庫,並在我的Windows工作正常。但是當我想在linux中運行該java程序時,它給出了一個錯誤「無法加載庫'tesseract':libtesseract.so:無法打開共享對象文件:沒有這樣的文件或目錄」。在Linux中的Java tesseract錯誤「無法加載庫'tesseract':libtesseract.so」

我沒有任何權限在Linux上安裝tesseract或任何其他軟件。只是我可以使用jar文件並通過調用shell腳本來運行java程序。請幫助我解決這個問題。因爲我認爲我的問題將通過獲取libtesseract.so文件或幫助我如何在Windows中獲取libtesseract.so來解決,因此我將在Linux中使用它。請幫忙提前謝謝

回答

1

在Linux上,Tess4J調用Tesseract本機庫libtesseract.so來工作。如果您無法在Linux上構建或安裝Tesseract,那麼您運氣不佳。也許如果你可以使用Cygwin或Mingw在Windows上交叉編譯爲.so。

+0

感謝您的回答,我如何下載tesseract.so文件。但它仍然要求更多的.so文件,即使我包含leptonica庫,它仍然需要一些.so文件,如libz.so文件。它是否與jvm版本有關。 Iam使用64位jvm。請幫助 – JM12

+0

Leptonica有幾個[依賴項](http://www.leptonica.org/vs2008doc/building-image-libraries.html)。 Tesseract和Leptonica都是32位庫。它們不能用於64位JVM。 – nguyenq

+0

現在我正嘗試在windows中構建使用cygwin的tesseract,但它並不創建.so文件,只創建「.o」文件和「.la」文件。請幫助我如何使用cygwin獲取「.SO」文件。在此先感謝 – JM12

0

必須設置-Djava.library.path這樣的文件可以發現,或者調整你的標準庫路徑通過延長系統的LD_LIBRARY_PATH以包括.bashrc中的。所以位置

+0

感謝您的回覆。但在eclipse窗口中,我沒有在任何地方找到libtesseract.so文件。所以通過在Linux中設置-Djava.library.path可以獲得「libtesseract.so」。 – JM12

0

您需要安裝沒有根,並指定你的libtesseract.so的路徑

安裝別處/無根

正方體可以被配置爲安裝在任何地方,這使得它可以安裝它,而不根訪問權限。

要在$ HOME /本地安裝:

./autogen.sh

的./configure --prefix = $ HOME /本地/

使安裝

要安裝在$ HOME/local中,使用Leptonica庫也安裝在$ HOME/local中:

./autogen.sh

LIBLEPT_HEADERSDIR = $ HOME/local/include 。/配置\ --prefix = $ HOME /本地/ --with-EXTRA-庫= $ HOME/local/lib目錄

使安裝

2

在我的情況(CentOS的),我複製所有文件(具有lept或從文件夾中的文件名teesseract關鍵字)

的/ usr /本地/ lib中

到文件夾

在/ usr/lib64下

,它解決了我的問題

2

這足以使用命令來安裝的Tesseract版:

sudo apt-get install tesseract-ocr 

現在你可以檢查正方體的版本,使用命令:

tesseract -v 

請注意,對於Tesseract 3.03,您可以使用Tess4j版本2.0。 由於不兼容,另一個版本可能會給您帶來錯誤。

您可以在更改日誌或here中獲得有關不同版本兼容性的更多信息。

相關問題