交叉编译expect

文章详细介绍了如何交叉编译tcl和expect到aarch64平台。首先,需要下载tcl和expect的源码,然后设置特定环境变量避免编译错误。接着,对tcl进行交叉编译并安装。最后,由于expect不直接支持交叉编译,需手动修改Makefile后完成编译和安装。完成上述步骤后,expect的可执行文件将位于源码目录,依赖库在指定的output目录下。
摘要由CSDN通过智能技术生成

1.下载源码

tcl库源码

https://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download

expect源码

Download expect5.45.tar.gz (Expect)

先编译tcl,再编译expect

2.交叉编译tcl

先执行以下两句,

export tcl_cv_strtod_buggy=1

export ac_cv_func_strtod=yes

 否则会报错

fixstrtod.o: In function `fixstrtod':

fixstrtod.c:(.text+0x0): multiple definition of `fixstrtod'

strtod.o:strtod.c:(.text+0x0): first defined here

进入tcl源码的unix目录

./configure --prefix=/home/xxx/output CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ --host=aarch64-linux
make
make install

3.交叉编译expect

expect本身不支持交叉编译,可以先config,再修改Makefile

./configure --prefix=/home/xxx/output --with-tcl/home/xxx/output/lib --witch-tclinclude=/home/xxx/output/include

修改Makefile

把CC=gcc改成CC=aarch64-linux-gnu-gcc

AR=ar 改成AR=aarch64-linux-gnu-ar

INCLUDES后面加一句,否则报错

INCLUDES=。。。。。。。 -I"use/include"

make
make install

expect可执行文件在源码目录

依赖库在output目录

参考文献:

expect移植到powerPC平台的过程_痒痒挠963的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值