Сборка libiconv завершается неудачно с помощью отдельного набора инструментов Android
Когда я пытаюсь собрать libiconv, используя отдельный набор инструментов Android NDK (android-ndk-r5-crystax-2), я получаю эту ошибку. Может кто-нибудь сказать мне, что может быть не так?
Моя среда выглядит так:
export NDK=$HOME/android/android-ndk-r5-crystax-2
export TOOLCHAIN=$HOME/android/toolchain
export ARCH=armv7-a
export SYSROOT=$TOOLCHAIN/sysroot
export PATH=$PATH:$TOOLCHAIN/bin:$SYSROOT/usr/local/bin
export CROSS_COMPILE=arm-linux-androideabi
export CC=${CROSS_COMPILE}-gcc
export CXX=${CROSS_COMPILE}-g++
export AR=${CROSS_COMPILE}-ar
export AS=${CROSS_COMPILE}-as
export LD=${CROSS_COMPILE}-ld
export RANLIB=${CROSS_COMPILE}-ranlib
export NM=${CROSS_COMPILE}-nm
export STRIP=${CROSS_COMPILE}-strip
export CFLAGS="-DANDROID -mandroid -fomit-frame-pointer --sysroot $SYSROOT -march=$ARCH -mfloat-abi=softfp -mfpu=vfp -mthumb"
export CXXFLAGS="$CFLAGS"
export LDFLAGS="-L${NDK}/sources/crystax/libs/armeabi-v7a -lcrystax"
2 ответа
При запуске скрипта configure вы должны указать: gl_cv_header_working_stdint_h=yes.
Пример:
./configure --prefix=$PRIFIX --host=arm-linux-androideabi gl_cv_header_working_stdint_h=yes
Удачи.
У меня такая же проблема. Оказывается, библиотека все еще будет собрана, это какая-то другая часть процесса сборки, которая терпит неудачу. make install, и вы должны увидеть, что libiconv установлен, несмотря на то, что он возвращает ошибку.
Кроме того, когда вы собираетесь использовать новую блестящую библиотеку libiconv, совместно используемая версия не будет работать, потому что она захочет использовать версионное имя сына (libiconv.so.), Но android-ndk не слишком этому рад. Убедитесь, что вы строите это статично, и у вас все будет хорошо.