配置文件如何找到正确的交叉编译工具?

时间:2011-07-20 08:53:11

标签: android configure android-ndk cross-compiling

我需要将ZThread lib移植到android开发环境。

我跟着这个: http://blog.jimjh.com/compiling-open-source-libraries-with-android-ndk-part-2.html

当我设置--host=arm-eabi时,配置文件检查arm-eabi-g++ arm-eabi-c++ ...,但我的交叉编译工具链名为arm-linux-androideabi-*;好吧,当我更改为--host=arm-linux-androideabi,它说系统“androideabi”无法识别,我认为它不在config.sub文件中。

关键是配置文件如何找到正确的交叉编译工具?

错误信息是: 检查构建系统类型...无效的配置arm-linux-androideabi': system androideabi'无法识别

编辑: 你可以尝试为你的第三个lib编写Android.mk文件,android NDK将使用Android.mk文件为你交叉编译lib(就像makefile一样工作)。有一个ZThread的Android.mk示例,由我的评论

给出

2 个答案:

答案 0 :(得分:4)

您需要更新config。*

http://ftp.us.debian.org/debian/pool/main/a/autotools-dev/autotools-dev_20110511.1_all.deb

cp -av /usr/share/misc/config.guess ./
cp -av /usr/share/misc/config.sub  ./

检查:

configure does not recognize androideabi

答案 1 :(得分:0)

您是否已将交叉编译工具所在的PATH导出?

e.g。在linux中,你必须在.bashrc文件中添加以下行:

export PATH=${PATH}:/home/username/path-to-android-ndk/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
在Windows中,您必须将此路径添加到环境变量中。特别是名为PATH的变量。