首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取Android的libreadline?

如何获取Android的libreadline?
EN

Stack Overflow用户
提问于 2013-07-17 18:49:15
回答 1查看 2.1K关注 0票数 0

我试图下载gnu readline-6.2源代码,但无法在Android平台上构建它。有人能为我指出解决这个问题的方法吗?非常感谢!

我尝试在我的PC上获取默认的Android构建标志,并使用它来运行./configure,但遇到问题时说:

代码语言:javascript
复制
checking build system type... x86_64-unknown-linux-gnu
checking host system type... arm-linux-androideabi
configure: cross-compiling for arm-linux-androideabi is not supported

Beginning configuration for readline-6.2 for arm-linux-androideabi

checking whether make sets $(MAKE)... yes
checking for arm-linux-gcc... /home/huangwei/ICS/prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gcc
checking for C compiler default output file name... 
configure: error: in `/home/huangwei/ICS/external/readline':
configure: error: C compiler cannot create executables
See `config.log' for more details.

但是,我打开了config.log并使用相同的构建命令来编译conftest.c,它可以工作,.o文件就在那里。我不知道为什么配置仍然失败。有谁能帮上忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-23 03:21:31

我发现自己也需要为arm-linux-androideabi编译libreadline。我所做的事情如下:

  1. 下载libreadline gnu的源代码。
  2. 将CC设置为android-ndk交叉编译器(CC=~/android/lib/bin/arm-linux-androideabi-gcc)
  3. 更新config.sub和config.guess文件( libreadline源代码中的文件非常旧,没有arm-linux-androideabi)

$ cp /usr/share/misc/config.{sub,guess} support/.

  • run ./configure,将--host和--前缀设置为目标体系结构和编译对象的位置

$ CC=~/android/lib/bin/arm-linux-androideabi-gcc ./configure --build=arm-linux-androideabi --prefix=~/android/lib/

  • make && make install,它对我起作用了!我在~/android/lib/lib

中有libreadline.alibreadline.so文件

注意,在我更新support/config.subsupport/config.guess文件之前,我得到了问题中描述的相同的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17697779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档