c语言readline库6,readline-6.3 之arm平台交叉编译

本文档记录了如何在ARM平台上交叉编译readline库,以实现CLI命令接口的历史命令翻阅和Tab键补全功能。通过修改configure文件避免了交叉编译时的测试程序问题,成功生成了适用于ARM平台的libreadline和libhistory库。
摘要由CSDN通过智能技术生成

近期须要弄个CLI命令接口程序,初步设想是须要支持历史命令翻阅,tab键命令补全这种一个东西。经查阅相关文档,深耕百度一番!(google近期不太正常)

实在恼火。发现readline果真是个好东西,于是将其先编译成arm平台。

./configure CC=arm-linux-gcc --host=arm-linux CROSS_COMPILE=arm-linux-gcc

配置,起初发如今configure的时候,会自己主动编译一个test程序,而交叉编译出来的程序是无法载x86上执行的,所以Makefile自然没生成

此时需改动configure,

a6d7c5610ce5c07be50c854214e25f65.png

将6324行  if test "$cross_compiling" = no; then :中的yes改为no就可以

mv xfree.o xfree.so

rm -f compat.so

arm-linux-gcc -c -DHAVE_CONFIG_H    -I. -I.. -I.. -DRL_LIBRARY_VERSION='"6.3"' -g -O -fPIC -o compat.o ../compat.c

mv compat.o compat.so

rm -f libreadline.so.6.3

arm-linux-gcc -shared -Wl,-soname,libreadline.so.6.3 -L./lib/termcap -Wl,-rpath,/usr/local/lib -Wl,-soname,`basename libreadline.so.6.3 .3` -o libreadline.so.6.3 readline.so vi_mode.so funmap.so keymaps.so parens.so search.so rltty.so complete.so bind.so isearch.so

display.so signals.so util.so kill.so undo.so macro.so input.so callback.so terminal.so text.so nls.so misc.so history.so histexpand.so histfile.so histsearch.so shell.so mbutil.so tilde.so colors.so parse-colors.so xmalloc.so xfree.so compat.so

rm -f libhistory.so.6.3

arm-linux-gcc -shared -Wl,-soname,libhistory.so.6.3 -L./lib/termcap -Wl,-rpath,/usr/local/lib -Wl,-soname,`basename libhistory.so.6.3 .3` -o libhistory.so.6.3 history.so histexpand.so histfile.so histsearch.so shell.so mbutil.so xmalloc.so xfree.so

make[1]: Leaving directory `/home/test/readline-6.3/shlib'

终于生成库

10191bf92434ff64b58a3a68406fb809.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值