开源项目交叉编译问题

本文详细介绍了交叉编译中./configure命令的使用方法,特别是如何通过–host、–build和–target选项正确设置目标平台。同时针对常见的配置错误提供了具体的解决步骤,并附带了一个实际的编译脚本示例。

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

交叉编译开源项目

交叉编译某个应用程序时,通常需要 ./configure 来生成对应的 Makefile
./configure 最关键的三个选项是:

–host=HOST
指定软件运行的系统平台.如果没有指定,将会运行`config.guess’来检测.

–build=BUILD
指定软件包安装的系统平台.如果没有指定,默认值将是’–host’选项的值.

–target=GARGET
指定软件面向(target to)的系统平台.这主要在程序语言工具如编译器和汇编器上下文中起作用.如果没有指定,默认将使用’–host’选项的值.

一般而言,我们只要指定 –host 就可以了
记住:–host 指定的是交叉编译工具链的前缀

常见问题

1.host system type not recognized

./configure --host=aarch64-linux-gnu

结果输出

checking host system type... Invalid configuration  aarch64-linux-gnu': machineaarch64' not recognized

解决办法

sudo apt-get install libtool
cp /usr/share/libtool/build-aux/config.sub .
cp /usr/share/libtool/build-aux/config.guess .

参考编译脚本

./configure --host=aarch64-linux-gnu \
    --prefix=/home/lvxinliang/workspace/log4cpp/log4cpp/out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值