• 交叉编译



    title: 交叉编译
    tags: linux
    date: 2019/1/21 17:54:56

    build/host/target

    一般可以这么使用在gcc,gdb

    ./configure --build=编译平台 --host=运行平台 --target=目标平台 [各种编译参数]
    
    参数 说明
    build 当前的计算机环境 该参数在不指定的情况下将自动常识猜测目前平台的名称
    host 编译出来的程序要在哪里运行 当不指定时host将自动使用build来定义自己
    target 编译出来的一个新的编译器(gcc/gdb/binutils)它编译的程序在哪运行

    mark

    //https://blog.csdn.net/ChrisNiu1984/article/details/6620709
    我有一个x86计算机,它上面工具很全,至少有gcc。这时我有了一个arm处理器的上网本。
    
    我想为我的arm上网本写点程序,但是因为上网本性能很差我不想在arm上开发编译,于是我就想在自己电脑上开发然后copy过去给他用。这时我就需要一个在我的x86(build)上编译一个“可以在我x86(host)本机上运行的gcc,这个新gcc编出来的程序是可以在arm(target)上运行的”。 此时选项为 build=x86,host=x86,target = arm。
    此时我用这个gcc编译一个helloworld,这个helloworld的build=x86,host=arm
    
    后来我又得到了一个超强服务器计算机,假设框架叫Super。我想用服务器编译比用我的x86要快的多,于是我就想在Super上用Gcc编译arm程序。但是我怎么得到在Super上能跑起来的gcc呢?当然是自己编译。于是我就需要在我的x86(build)上编译一个能在Super(host)上运行的gcc,而且它编出来的程序是在arm(target)上运行。此时选项为 build=x86,host=Super,target = arm。
    此时我用这个gcc编译一个helloworld,这个helloworld的build=Super,host=arm
    
    

    prefix

    使用这个参数,可以指定安装的目录

    make install prefix=$PWD/tmp
    或者
    ./configure  -prefix=/usr/xxx
    

    参考链接

    arm-none-linux-gnueabi- 环境搭建

    工具链下载

  • 相关阅读:
    C#类头部声明样式
    VisualStudio使用技巧及快捷键
    #使用ListView更新数据出现闪烁解决办法
    获取公网IP地址
    JArray数组每个JObject对象添加一个键值对
    部署网站出现System.ServiceModel.Activation.HttpModule错误
    MYSQL存储引擎的比较
    数据库索引原理(转载)
    皮尔逊相关系数
    进程与线程
  • 原文地址:https://www.cnblogs.com/zongzi10010/p/10331604.html
Copyright © 2020-2023  润新知