2013-05-29 33 views
2

我有一個用C語言編寫的OCR庫,我希望使用Native Development Kit(NDK)在Android上運行。我是一名經驗豐富的Android開發人員,但與NDK(或C)無關。我已經設置了許多hello世界範例程序,現在我認爲我需要回答的第一個問題是:在Android NDK中使用具有外部依賴性的C庫

OCR庫需要makefile中的另一個依賴項:libtiff,它支持.TIFF圖像文件。我如何將這個依賴項添加到項目中並在Android.mk文件中表示它?誰能鏈接到任何類似的例子?

下面是從OCR生成文件的一些代碼:

TIFF = {your_tiff_path}/libtiff.a 
INCLUDES= {your_tiff_path}/include 
DEFS = -DDO_USE_32BIT -DLUT_POPCNT -DTIFF_FORMAT 
OPT  = -O3 
CFLAGS = $(OPT) -g $(INCLUDES) $(PROFILE) $(DEFS) 
# Add -m32 to build 32bit on 64bit machine 
CC  = gcc -m32 
LDFLAGS = $(OPT) $(PROFILE) 

OBJECTS = cputime.o BitArr.o bits.o chardat.o symbol.o page.o get_skew.o \ 
    ccrx.o readtiff.o label.o glyph.o loadcontrols.o loadbestfont.o \ 
    qsegment.o makeBnodes.o makeLnodes.o runocr.o lineocr.o extract.o \ 
    splitchars.o compare.o scoreit.o lm_class.o lmdp.o \ 
    ocrfont.o glyphsubs.o binio.o ocrmain.o unicode.o 

TARGET = ccr8 

$(TARGET): $(OBJECTS) 
    $(CC) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(TIFF) -lm -lc 

label.o:  label.c page.h CCR.h BitArr.h bits.h 
... 
... 
... 
+0

你有爲Android編譯的libtiff.a嗎?實際上,也許你應該考慮「獨立工具鏈」 - 這是一個重用Android通用makefile的工具。在你使用NDK安裝的文檔中有很好的描述。 –

+0

我能夠使用獨立的工具鏈。如果您將您的評論轉換爲答案,我會接受它。謝謝! – littleK

回答

1

使用「獨立的工具鏈」 - 這是重用通用的makefile爲Android的工具。在你使用NDK安裝的文檔中有很好的描述。