2016-03-17 6 views
15

Ich möchte tess-zwei Bibliothek in Android Studio importieren und nach der Kompilierung zeigen Fehler in ndk build. Ich habe bereits versucht, die Lösung auf Stackoverflow gegeben. wie, Execution failed for task ':app:compileDebugNdk' aber es hat mein Problem nicht gelöst. Bitte schlage mir vor, wo ich falsch liege.Integration Problem zu tess-zwei (Tesseract Tools für Android) Bibliothek in ein Android Studio und Build ndk

Es zeigen folgende Fehler:

Error:error: undefined reference to 'isnanf' 

Error:error: undefined reference to '__isinff' 
Error:error: undefined reference to 'isnanf' 
[arm64-v8a] Install  : libtess.so => libs/arm64-v8a/libtess.so 
Error:error: undefined reference to 'isnanf' 
Error:error: undefined reference to '__isinff' 
Error:error: undefined reference to 'isnanf' 
[x86_64] Install  : libjpgt.so => libs/x86_64/libjpgt.so 
Error:error: linker command failed with exit code 1 (use -v to see invocation) 
Error:error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [obj/local/armeabi-v7a/libtess.so] Error 1 

make: *** Waiting for unfinished jobs.... 
make: *** [obj/local/armeabi/libtess.so] Error 1 
make: Leaving directory `D:/OCR/tess-two-master/tess-two-master/tess-two' 
:tess-two:ndkBuild FAILED 

Error:Execution failed for task ':tess-two:ndkBuild'. 
Process 'command 'D:\SDK\sdk\ndk-bundle/ndk-build.cmd'' finished with non-zero exit value 2 
+2

Wenn Sie nur eine Arbeitsbibliothek möchten, können Sie die vorkompilierte Version (siehe „Verwendung“ [hier] (https://github.com/rmtheis/tess-two#usage)) oder mit NDK r10e bauen. – rmtheis

+0

Vielen Dank, es hat mit r10e kompiliert. – Rajan1404930

+0

Hallo ich benutze die gleiche Bibliothek in Ubuntu, aber ich habe diesen Fehler Fehler: Ausführung fehlgeschlagen für Task ': tess-two: ndkBuild'. > Beim Starten des Prozesses 'Befehl' ndk-build 'ist ein Fehler aufgetreten. Bitte helfen Sie mir so schnell wie möglich. Vielen Dank im Voraus. – Naveen

Antwort

12

Es stellt sich heraus, dass die Ursache für diesen Fehler ist, dass NDK r11 nicht Android-8 (Android 2.2.x) unterstützt, während NDK r10 tat.

Das Ändern der zu verwendenden Application.mk-Datei APP_PLATFORM := android-9 behebt dieses Problem.

+0

Wissen Sie, wo diese Änderung dokumentiert ist? – bleater

+1

Tatsächlich enthält das NDK noch android-3 als die frühest mögliche Plattform. Der Grund für den Wechsel zu android-9 für isnan/isnanf ist, dass genau diese Symbole von libm.so durch diese Änderung entfernt wurden: https://android.googlesource.com/platform/development/+/977bf483813dd117c149880a389c97df1b881805%5E!/ – bleater

Verwandte Themen