2010-02-25 30 views
8

he compilado Tesseract para usarlo en Xcode siguiente: http://iphone.olipion.com/cross-compilation/tesseract-ocrTesseract Ejemplo para Iphone

puedo obtener el archivo .a, la importación como marco en el proyecto iPhone, y actualizar la ruta de búsqueda de cabecera de los archivos de cabecera Tesseract.

Así que ahora necesito un ejemplo simple para comenzar. No encuentro nada en http: // code.google.com/p/tesseract-ocr/ o en google.

Cualquiera me puede ayudar a darme un punto de partida (un fragmento de código) ..?! Muchas gracias!

- Más tarde me encontré con este código:

#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();


pero cuando intento compilar para el dispositivo (sólo la inserción de instrucción de inclusión sin el código de seguridad) Obtengo lo siguiente:

de error: error de sintaxis antes advertencia '' PAGE_RES: por defecto de tipo a 'int' en la declaración de advertencia '' PAGE_RES: definición de datos no tiene un tipo o clase de almacenamiento

y así sucesivamente con block_list, imagen, etc


si compilar para el simulador me sale

de error: se esperaba '=', '', '' ASM' o 'atributo' antes 'PAGE_RES' y así sucesivamente con block_list, la imagen y TessBaseAPI

--- Otra actualización: Encontré una solución para el problema de inclusión: Donde se produce la inclusión debe cambiar el nombre del archivo.m en la extensión .mm porque tenemos que decirle xcode que tenemos que usar objetivo-c y C++ juntos.

+0

Hola, dijiste que cruzaste el tesseract compilado usando ese blog. Solo quiero saber qué se entiende por fuente el archivo de configuración. –

+0

¿Sabes cómo administrar el archivo de idioma. es decir, ¿dónde guardar los archivos .traindata? ¿Y solo el archivo .traindata es suficiente? o ¿necesitamos todos los otros archivos 7/8? – karim

+0

¿Por qué no compilarlo en asm.js? Eso tendría la ventaja adicional de poder ejecutar teóricamente * cualquier * navegador, siempre que no se quede sin memoria. – NoBugs

Respuesta

2

que necesita para actualizar SDKROOT, y CPPFLAGSCXX variables. Por ejemplo, aquí es la parte importante de mi script de creación, modificado para funcionar con 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" 

ubicación de la biblioteca dinámica generada por el paquete Unix

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

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

biblioteca estática que se generará para 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 
+1

No he podido encontrar ningún lugar en los documentos de Apple sobre el env. vars. , como ; -miphoneos-version-min = 4.0. También la bandera personalizada; -host = brazo-manzana-darwin. ¿Dónde está documentado esto? – RyBolt

Cuestiones relacionadas