8

我已经编译了 tesseract 以便在以下 xcode 中使用它:http: //iphone.olipion.com/cross-compilation/tesseract-ocr

我获取 .a 文件,将其作为框架导入到 iphone 项目中,并更新 tesseract 头文件的头搜索路径。

所以现在我需要一个简单的例子来开始。我在 http://code.google.com/p/tesseract-ocr/ 或谷歌搜索中找不到任何东西。

任何人都可以帮我给我一个起点(代码片段)..?!非常感谢!

-- 后来我发现了这段代码:

#include "baseapi.h"


TessBaseAPI::InitWithLanguage(NULL, NULL, language, NULL, false, 0, NULL); char* text = TessBaseAPI::TesseractRect(imagedata, bytes_per_pixel, bytes_per_line, 0, 0, width, height); TessBaseAPI::End();


但是当我尝试为设备编译时(只插入没有上面代码的包含语句)我得到以下信息:

错误:“PAGE_RES”警告之前的语法错误:“PAGE_RES”声明中的类型默认为“int”警告:数据定义没有类型或存储类

BLOCK_LIST、IMAGE 等。


如果为模拟器编译我得到

错误:在 'PAGE_RES' 之前需要 '=',',',','asm' 或 ' attribute ' 等等,使用 BLOCK_LIST、IMAGE 和 TessBaseAPI

--- 其他更新:我找到了包含问题的解决方案:发生包含的地方必须将 file.m 重命名为 .mm 扩展名,因为我们必须告诉 xcode 我们必须同时使用 Objective-c 和 c++。

4

2 回答 2

11

http://github.com/nolanbrown/Tesseract-iPhone-Demo

OCRDemo 是一个演示应用程序,它利用 Tesseract 库 ( http://code.google.com/p/tesseract-ocr/ ) 作为在 Mac OS 10.6 下使用http://robertcarlsen.net上的 shell 脚本编译的静态库/2009/07/15/cross-compile-for-iphone-dev-884

该程序仅用于演示 OCR 库及其在 iPhone 上的功能,该程序并未以任何方式优化...

于 2010-03-08T08:41:44.803 回答
2

您需要更新SDKROOT,CPPFLAGSCXX 变量。例如,这是我的构建脚本的相关部分,已修改为适用于 4.0:

export SDKROOT=$DEVROOT/SDKs/iPhoneOS4.0.sdk
export PATH=$DEVROOT/usr/bin:$PATH
# Set up relevant environment variables
export CPPFLAGS="-I$SDKROOT/usr/lib/gcc/arm-apple-darwin10/4.0.1/
include/ -I$SDKROOT/usr/include/ -miphoneos-version-min=4.0"
export CFLAGS="$CPPFLAGS -arch armv6 -pipe -no-cpp-precomp -isysroot
$SDKROOT"
export CPP="$DEVROOT/usr/bin/cpp $CPPFLAGS"
export CXXFLAGS="$CFLAGS"

Unix 包生成的动态库位置

 LIBPATH=$LIBFILE.dylib
    LIBNAME=`basename $LIBPATH`

export LDFLAGS="-L$SDKROOT/usr/lib/ -Wl,-
dylib_install_name,@executable_path/$LIBNAME"

将为 ARM 生成的静态库

LIBPATH_static=$LIBFILE.a
LIBNAME_static=`basename $LIBPATH_static`
# TODO: add custom flags as necessary for package
./configure CXX=$DEVROOT/usr/bin/arm-apple-darwin10-g++-4.0.1 CC=
$DEVROOT/usr/bin/arm-apple-darwin10-gcc-4.0.1 LD=$DEVROOT/usr/bin/ld --host=arm-apple-darwin
于 2010-10-21T04:42:37.327 回答