Gebäude native Bibliothek mit standalone-toolchain arm-android

Ich versuche zu bauen libraw als Android-Laufzeit-Bibliothek. Es sieht die lib ist zu Komplex für die Verwendung mit Android.mk etc, oder besser: ich bin nicht fähig noch zu tun.

Ich habe versucht, die route mit einem standalone-toolchain aus dem NDK, aber ich bin immer stecken bei der Zusammenstellung dieser lib.

Dies ist der Weg, den ich nehmen, der zum kompilieren der lib. Bitte darauf hinweisen, wenn ich offensichtliche Fehler:

  1. Ich habe die ndk.
  2. ran: make-standalone-toolchain.sh
  3. Hinzugefügt, die bin Ordner der standalone-toolchain als ersten Eintrag in meinem PATH.
  4. Lief ./configure mit --host=arm-linux-androideabi. Dies gelang
  5. Lief make, hier krachte es sehr schnell.
 LibRaw-0.14.4$ machen 
depbase=`echo interne/dcraw_common.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||";\ 
/bin/bash ./libtool --tag=CXX --mode=compile arm-linux-androideabi-g++ -DPACKAGE_NAME=\"LibRaw\" -DPACKAGE_TARNAME=\"libraw\" -DPACKAGE_VERSION=\"0.14.4\" -DPACKAGE_STRING=\"LibRaw\ 0.14.4\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"http://www.libraw.org\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I/usr/local/include -g -O2 -MT intern/dcraw_common.lo -MD -MP -MF $depbase.Tpo -c -o innen - /dcraw_common.lo internal/dcraw_common.cpp &&\ 
mv -f $depbase.Tpo $depbase.Plo 
libtool: compile: arm-linux-androideabi-g++ -DPACKAGE_NAME=\"LibRaw\" -DPACKAGE_TARNAME=\"libraw\" -DPACKAGE_VERSION=\"0.14.4\" "-DPACKAGE_STRING=\"LibRaw 0.14.4\"" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"http://www.libraw.org\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I/usr/local/include -g -O2 -MT intern/dcraw_common.lo -MD -MP -MF interne/.deps/dcraw_common.Tpo -c internal/dcraw_common.cpp -fPIC -DPIC -o innen -/.libs/dcraw_common.o 
interne/dcraw_common.cpp: In member function 'void LibRaw::read_shorts(ushort*, int)': 
interne/dcraw_common.cpp:119: Fehler: 'Abstrich' wurde nicht deklariert, in diesem Umfang 
interne/dcraw_common.cpp: In member function 'void LibRaw::write_ppm_tiff()': 
interne/dcraw_common.cpp:9235: Fehler: 'Abstrich' wurde nicht deklariert, in diesem Umfang 
Hersteller: *** [interne/dcraw_common.lo] Fehler 1 

Ich bezweifle, dass diese Fehlermeldung ist hilfreich, hier bei stackoverflow, aber ich bin Links Fragen, wenn ich einige zusätzliche Parameter oder Konfiguration, um diese zu arbeiten?

Beachten Sie, dass ich bin in der Lage zu kompilieren dieser lib erfolgreich, wenn nur das kompilieren für mein system ohne crosscompiling. (linux 32bit).

Wenn ich bin auf der Suche nach einer Anleitung für den Aufbau GDAL für Android (hier), verwendet es eine zusätzliche Einstellung von LIBS="-lsupc++ -lstdc++". Diese links, die STL und C++ - Ausnahmen?
Jedoch, wenn ich diese vor dem ausführen meiner configure bekomme ich sofort Fehler wie:

konfigurieren:3018: überprüfen Sie, ob der C++ - compiler arbeitet 
konfigurieren:3040: arm-linux-androideabi-g++ conftest.cpp -lsupc++ -lstdc++ " >&5 
/tmp/android-chain/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: cannot find -lsupc++ 
collect2: ld zurückgegeben, 1 exit status 

So, ich bin ein wenig stecken. Jemand eine Idee?

InformationsquelleAutor Peterdk | 2011-12-22
Schreibe einen Kommentar