【问题标题】:Building libiconv fails with the Android standalone toolchain使用 Android 独立工具链构建 libiconv 失败
【发布时间】:2012-02-21 15:31:28
【问题描述】:

当我尝试使用 Android NDK 独立工具链 (android-ndk-r5-crystax-2) 构建 libiconv 时,我得到了 this error output。谁能告诉我可能出了什么问题?

我的环境是这样的:

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"

【问题讨论】:

标签: android android-ndk cross-compiling libxml2 iconv


【解决方案1】:

我遇到了同样的问题。事实证明,该库仍将被构建,这是构建过程中失败的其他部分。进行安装,您应该看到 libiconv 已安装,尽管它返回失败。

此外,当您使用闪亮的新 libiconv 时,共享版本将无法工作,因为它需要使用版本化的 soname (libiconv.so..),但 android-ndk 不是对此不太高兴。确保你构建它是静态的,你会很好的。

【讨论】:

  • 事实上,你不需要make所有东西,相反你可能只需要make install-lib,它将构建libiconv并安装它(使用--prefix配置它安装在某个地方逻辑)。
【解决方案2】:

运行配置脚本时,您应该指定:
gl_cv_header_working_stdint_h=yes.

例子:

./configure --prefix=$PRIFIX --host=arm-linux-androideabi gl_cv_header_working_stdint_h=yes

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-09
    • 2012-02-16
    • 2019-02-22
    • 2012-02-15
    • 2014-06-27
    • 2012-01-26
    • 2012-05-18
    • 2013-07-17
    相关资源
    最近更新 更多