configure移植技巧,绝对干货

一.环境

  • 主机:ubuntu
  • 开发板:   arm+linux

二.configure分析

  • --build --host --target介绍       
  1. --build为主机环境,如ubuntu,redhat等等,执行gcc -v命令可以查看到Target变量,--build=为Target变量的值,--build如果不填写的话,系统会默认填写主机环境。
  2. --host为目标环境,表示编译好的软件包在什么环境下执行,如果--host和--build相同,则编译好的软件包在主机环境执行,如果--host和--build不同则为交叉编译,目标环境为开发板,--host如果不填写的话,系统会默认填写主机环境。执行arm-linux-gcc -v(交叉编译每个人不一样,学会灵活运用)命令可以查看到Target变量,--build=为Target变量的值。
  3. --target仅仅用于编译交叉工具链,当交叉工具编译生成软件包时,这个软件包执行的环境就是--target的值。比如gcc编译生成的软件包的--target为主机环境,通过gcc -v查看target可以知道该值。arm-linux-gcc编译生成的软件包的--target为开发板环境,通过arm-linux-gcc -v查看target可以知道该值。
  • 目标环境为本机,configure最小命令为./configure。目标环境为开发板,configure最小命令为./configure --host=arm-linux。因为--build和--host不填写的话,系统会默认填写为主机环境。
  • 通过./configure -h查看configure详细配置选项,每个人的情况不一样,需自行配置,但只要保证最小命令,就能正确编译。
  • 常见错误:
  1. 交叉环境没有设置,需把arm-linux-gcc的路径添加到PATH变量,不然无法找到交叉编译器,从而无法交叉编译
  2. 由于反复设置环境,可能导致环境污染,最好进行make distclean或者重新解压新的源码进行编译,否则会出错
  3. 开源软件的源码包存在很大的差异,且缺乏管理,如果按照上面那的步骤编译不成功,可以尝试更多的版本,版本出问题解决起来最麻烦
  4. 如果编译出现问题,可以先把问题复制到百度或者谷歌进行搜索,找到解决问题办法,用于解决简单的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值