1. 程式人生 > >linux 下Unable to load library 'tesseract': Native library (linux-x86-64/libtesseract.so

linux 下Unable to load library 'tesseract': Native library (linux-x86-64/libtesseract.so

inux上部署tess4j專案

在windows上專案是可以正常執行的,部署到Linux上後,執行報異常,異常內容為:Unable to load library 'tesseract': Native library (linux-x86-64/libtesseract)

這個報錯的原因就是專案無法載入庫資原始檔 libtesseract(在linux上是.so檔案,windows是.dll檔案)

解決:

  將/usr/local/lib下相關的tesseract和leptonica的library(.so)的檔案複製到 /usr/lib下,問題解決,nice

記錄一下在Linux上部署tesseract

( 所需要的  Linux 安裝包 tesseract-ocr-3.02.02.tar.gz及安裝需要的leptonica-1.68.tar.gz  英文語言包 eng.traineddata.gz  戳連結:

戳我

1,編譯環境: gcc gcc-c++ make(這個環境一般機器都具備,可以忽略)  
  yum install gcc gcc-c++ make

2,autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel 可以通過yum安裝:

    (1)yum install autoconf automake libtool

    (2)yum install libjpeg-devel libpng-devel libtiff-devel zlib-devel

3,安裝 leptonica

  下載 leptonica-1.68.tar.gz

   tar-zxvf leptonica-1.68.tar.gz

  (1) 進入 leptonica-1.73資料夾內(cd 命令)  (2) 執行下面command

  ./configure

  make

  make install

  ldconfig

機器老是報錯

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'tesseract': Native library (linux-x86-64/libtesseract.so 

) not found in resource path ([file:/home
/WsxcdE1/hskj/qixinbao/qixinbao-1.0.jar])

LD_LIBRARY_PATH=/usr/local/lib

LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/usr/local/lib

可能是因為系統之前沒有設定過LD_LIBRARY_PATH,於是改成這樣:

export LD_LIBRARY_PATH=/usr/local/lib

然後用 echo $LD_LIBRARY_PATH檢查一下是否真的設定成功,發現可以。

接著在該shell下執行eclipse生成的可執行檔案,沒有錯誤。

另外,如果不想每次新啟一個shell都設定LD_LIBRARY_PATH,可以編輯~/.bash_profile檔案:

$ vi ~/.bash_profile 

新增:

LD_LIBRARY_PATH=/usr/local/lib

export LD_LIBRARY_PATH

這兩行,完成之後.bash_profile如下所示:

# .bash_profile