我有一个复杂的开源库,需要移植到Android NDK。首先,我需要配置(./ Configure)。我理解:我必须使用/ home/user/android-ndk/build/prebuilt/ linux-x86/arm-eabi-4.4.0/bin/arm-eabi-gcc进行交叉编译,对吗?此实用程序将正确配置库吗?如果是,那么问题2:
1.我正在尝试编译这样一个库: libao。使用以下命令:
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 \ 在程序集的末尾收到以下内容:配置:错误:在此平台上找不到16位类型!
这可能意味着什么?如何修复和正确配置库?也许我可以以某种方式让你更容易地配置库?
发布于 2011-05-07 16:14:10
我认为使用./configure脚本为Android构建库是困难的(甚至是不可能的)。安卓有自己的原生代码构建系统Android.mk,我认为这将是最简单的方法。您必须手动准备这样makefile,然后使用NDK附带的NDK构建脚本。与NDK示例一起安装,您可以在那里检查这些文件可能是什么样子。
如果您只想运行configure来生成config.h,请访问此链接http://warpedtimes.wordpress.com/2010/02/03/building-open-source-libraries-with-android-ndk/。它包含以下./configure参数集可能起作用的信息
./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 “https://stackoverflow.com/questions/5919710
复制相似问题