在不获取tesslib和leptonlib的情况下构建android tesseract android工具库

在不获取tesslib和leptonlib的情况下构建android tesseract android工具库,android,ocr,tesseract,Android,Ocr,Tesseract,我正在开发一个OCR Android应用程序,但是Tesseract OCR库有很多问题。为了构建库,我遵循了自述文件中包含的每个步骤,但我只编译了libjpeg.so:-( 现在,我要解释我所做的每一步,这样可以帮助你知道我做错了什么 我跑步没有问题: cd <project-directory> mkdir external; cd external wget http://tesseract-ocr.googlecode.com/files/tesseract-3.00.tar

我正在开发一个OCR Android应用程序,但是Tesseract OCR库有很多问题。为了构建库,我遵循了自述文件中包含的每个步骤,但我只编译了libjpeg.so:-(

现在,我要解释我所做的每一步,这样可以帮助你知道我做错了什么

我跑步没有问题:

cd <project-directory>
mkdir external; cd external
wget http://tesseract-ocr.googlecode.com/files/tesseract-3.00.tar.gz
tar -zxvf tesseract-3.00.tar.gz
rm -f tesseract-3.00.tar.gz
wget http://leptonica.googlecode.com/files/leptonlib-1.66.tar.gz
tar -zxvf leptonlib-1.66.tar.gz
rm -f leptonlib-1.66.tar.gz
我得到:

Cloning into 'libjpeg'...
fatal: unable to connect to android.git.kernel.org:
android.git.kernel.org[0: 149.20.4.77]: errno=Connection timed out
要解决此问题,我使用镜像并运行:

git clone git:https://github.com/android/platform_external_jpeg libjpeg
好的,它似乎有效。我得到:

Cloning into 'libjpeg'...
remote: Counting objects: 324, done.
remote: Compressing objects: 100% (229/229), done.
remote: Total 324 (delta 142), reused 269 (delta 93)
Receiving objects: 100% (324/324), 756.37 KiB | 412 KiB/s, done.
Resolving deltas: 100% (142/142), done.
运行时没有问题:

cd libjpeg
git checkout e0eadaa39b72e33f032220246c771d7302ebeaf8
cd ..
export TESSERACT_PATH=${PWD}/tesseract-3.00
export LEPTONICA_PATH=${PWD}/leptonlib-1.66
export LIBJPEG_PATH=${PWD}/libjpeg
cd ..
但是,在运行ndk构建后,我得到一个错误:

/cygdrive/c/Android_NDK/build/core/build-local.mk:40: build/core/init.mk: No such file or directory
/cygdrive/c/Android_NDK/build/core/build-local.mk:122: *** falta un `endif'.  Alto.
其中“falta un'endif'。Alto.”的意思是“缺少'endif'。停止。

好的,这里我使用了tesseract项目中的Android.mk,并引入了一些小的更改以使其适应我的项目目录

现在我跑了

ndk-build 
而我只有

libs/armeabi/libjpg.so

我认为这是因为Android.mk需要添加以下几行:

include $(call all-subdir-makefiles) $(TESSERACT_PATH)/Android.mk
include $(call all-subdir-makefiles) $(LEPTONICA_PATH)/Android.mk
我这样做了,而且,由于LEPTONICA_路径和TESSERACT_路径中没有Android.mk文件,所以我从TESSERACT Android工具项目中获取了它们——就像我以前做的那样:

  • [tesseract的Android.mk][5]
  • leptonica的Android.mk]
然后我执行

C:\tesseract\jni>ndk-build
C:/Android_NDK/build/core/build-binary.mk:240: *** target pattern contains no `%'.  Stop.
我试图解决问题,所以我尝试了一些事情(其中一些建议是我在stackoverflow找到的),但都没有解决问题

我给了你每一个细节,这样你就更容易发现我犯的错误

(啊!我在WinXP+Cygwin上)


提前感谢

我实际上也遇到了同样的问题。我最终对make文件甚至库中的一些C代码做了很多更改,但只能从中获得有限的功能。我建议改用这个库。我可以毫无问题地编译它。但是,我最终在我正在做这件事。试一试。希望这能有所帮助!

你是对的。这正是我所做的,而且成功了。这次没有问题。谢谢!尽管我不喜欢悲伤,但我仍然有兴趣知道我做错了什么…如果有人能帮我…我知道你的意思。我也有同样的感觉。我真的相信这个问题em在实际的tesseract android工具库中。就像库本身不起作用一样,但是如果有人知道原因,请也告诉我!我最近回答了一个类似的问题,请按照这里的说明进行操作:
C:\tesseract\jni>ndk-build
C:/Android_NDK/build/core/build-binary.mk:240: *** target pattern contains no `%'.  Stop.