ncurses库移植到arm平台

本文详细介绍了如何将ncurses库移植到ARM平台,包括从ncurses官网下载源码、配置编译环境、解决编译过程中遇到的strip命令问题、tic命令格式错误以及与系统ncurses版本冲突的问题,最终成功编译并通过验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、从ncurses官网下载源码 https://ftp.gnu.org/pub/gnu/ncurses/

2、解压后进入源码目录,初始化交叉编译环境,imx6系列的CPU初始化方法如下:

. /opt/fsl-imx-fb/4.1.15-2.1.0/environment-setup-cortexa9hf-neon-poky-linux-gnueab

查看配置参数 

tuo@ncurses-6.2$ echo $CONFIGURE_FLAGS 
--target=arm-poky-linux-gnueabi --host=arm-poky-linux-gnueabi --build=x86_64-linux --with-libtool-sysroot=/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi

 3、配置ncurses源码,可直接使用上述变量作为配置参数,由于默认使用系统自带的strip命令(X86-64)裁剪目标文件(ARM),会导致编译失败,这里先禁止使用strip命令裁剪(--disable-stripping)。如果因为存储空间有限,需要裁剪,可以在Makefile中指定使用arm-poky-linux-gnueabi-strip命令,或者等编译通过后,再手动用arm-poky-linux-gnueabi-strip命令裁剪,这里不过多展开。

tuo@ncurses-6.2$ ./configure $CONFIGURE_FLAGS --disable-stripping --prefix=/home/tuo/sdb1/ncurses-6.2/build --with-shared

 配置成功后的输出:

4、编译,make -j4,编译成功后输出:

5、make install

由错误日志

/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/tic: 1: /opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/tic: Syntax error: word unexpected (expecting ")")
? tic could not build /usr/share/terminfo 

可知:tic命令格式不对,无法执行,这里要用系统自带的tic(x86),而不是交叉编译器的tic命令(arm)

PC中包含arm平台和本机x86平台的tic命令

查看环境变量 

tuo@ncurses-6.2$ echo $PATH
/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin:/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/sbin:/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/bin:/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/sbin:/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/../x86_64-pokysdk-linux/bin:/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值