- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在开发 OCR Android 应用程序,但我在使用 Tesseract-ocr 库时遇到了很多问题。为了构建库,我已经按照 README 文件中包含的每个步骤进行操作,但我只编译了 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
运行时:
git clone git://android.git.kernel.org/platform/external/jpeg.git libjpeg
我得到:
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-build 之后我得到一个错误:
/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 并引入一些小的变化以适应我的项目目录。 [这里是][4]
现在我跑
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_PATH 和 TESSERACT_PATH 中没有 Android.mk 文件,我从 tesseract-android-tools 项目中获取它们 - 就像我之前所做的那样:
然后我执行
C:\tesseract\jni>ndk-build
C:/Android_NDK/build/core/build-binary.mk:240: *** target pattern contains no `%'. Stop.
然后我就卡住了。我试图解决,所以我尝试了一些事情(其中,我在 stackoverflow 上找到的一些建议)但没有一个解决了问题。
我给了你每一个细节,这样你会更容易发现我犯的错误。
(啊!我在 WinXP+Cygwin 上)
提前致谢
最佳答案
其实我也遇到过同样的问题。我最终对 make 文件甚至库中的一些 C 代码做了很多更改,但只能从中获得有限的功能。我会推荐使用这个 tess-two图书馆代替。我能够毫无问题地编译它。但是,我最终在 Ubuntu 这样做之前就切换了。试一试。希望这对您有所帮助!
关于android - 在不获取 tesslib 和 leptonlib 的情况下构建 android tesseract-android-tools 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11017653/
我正在开发 OCR Android 应用程序,但我在使用 Tesseract-ocr 库时遇到了很多问题。为了构建库,我已经按照 README 文件中包含的每个步骤进行操作,但我只编译了 libjpe
我是一名优秀的程序员,十分优秀!