O arm-eabi-gcc i kompilacji krzyżowej

Mam skomplikowaną bibliotekę open source, która musi zostać przeniesiona do Android NDK. Najpierw muszę skonfigurować (. / Configure). Rozumiem.: Muszę wykonać kompilację krzyżową z / home / user / android-NDK / build / prebuilt/ linux-x86 / arm-eabi-4.4.0 / bin / arm-eabi-gcc Myślę, że dobrze? To narzędzie poprawnie skonfiguruje bibliotekę? Jeśli tak, zatem pytanie 2:

1.Próbuję skompilować taką bibliotekę: libao. użyj tych poleceń:


PREBUILT = / home/user/android-ndk/build/prebuilt/linux-x86/arm- 
eabi-4.4.0 
PLATFORM = / home/user/android-ndk/build/platforms/android-3/arch-arm 
INSTALL = / home/user/sox-14.3.2/com 

export CC = "/ home/user/android-ndk/build/prebuilt/linux-x86/arm- 
eabi-4.4.0/bin/arm-eabi-gcc" 
export CFLAGS = "-fPIC-DANDROID" 
export LDFLAGS = "-Wl,-T, $ PREBUILT / arm-eabi / lib / ldscripts / 
armelf.x-Wl,-rpath-link = $ PLATFORM / usr / lib-L $ PLATFORM / usr / 
lib-nostdlib $ PREBUILT / lib/gcc/arm-eabi/4.4.0/crtbegin.o $ PREBUILT/ 
lib/gcc/arm-eabi/4.4.0/crtend.o-lc-lm-ldl " 

. / Configure - host = arm - with-gnu-ld - enable-shared \ 

Na końcu zgromadzenia otrzymują po: konfiguracja: błąd: nie znaleziono 16-bitowego typu na tej platformie!

Co to może znaczyć? Jak naprawić i poprawnie skonfigurować bibliotekę? Może uda mi się jakoś łatwiej skonfigurować bibliotekę?
Author: Kyborg2011, 2011-05-07

1 answers

Myślę, że jest to trudne (a nawet niemożliwe) w użyciu ./ configure script to build library for Android. Android ma własny system budowania Android.mk dla kodu natywnego i myślę, że będzie to najprostszy sposób. Musisz przygotować taki plik Makefile ręcznie, a następnie użyć skryptu NDK-build dostarczanego wraz z NDK. Wraz z NDK są zainstalowane sample i można tam sprawdzić jak taki plik może wyglądać.

Jeśli chcesz po prostu uruchomić configure, aby wygenerować config.H proszę podążaj za tym link http://warpedtimes.wordpress.com/2010/02/03/building-open-source-libraries-with-android-ndk/. Zawiera informacje, że następujący zestaw parametrów dla ./ configure might work

./configure –host=arm-eabi CC=arm-eabi-gcc CPPFLAGS=”-I$ANDROID_ROOT/build/platforms/android-3/arch-arm/usr/include/” CFLAGS=”-nostdlib” LDFLAGS=”-Wl,-rpath-link=$ANDROID_ROOT/build/platforms/android-3/arch-arm/usr/lib/ -L$ANDROID_ROOT/build/platforms/android-3/arch-arm/usr/lib/” LIBS=”-lc “
 7
Author: Zuljin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-07 10:20:59