交叉编译开源项目
交叉编译某个应用程序时,通常需要 ./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
本文详细介绍了交叉编译中./configure命令的使用方法,特别是如何通过–host、–build和–target选项正确设置目标平台。同时针对常见的配置错误提供了具体的解决步骤,并附带了一个实际的编译脚本示例。
2万+

被折叠的 条评论
为什么被折叠?



