交叉编译--build、--host、--target、--prefix

王先生
2023-10-30 / 0 评论 / 4 阅读 / 正在检测是否收录...

编译例子

./configure --build=编译平台 --host=运行平台 --target=目标平台 [各种编译参数]
  • build:表示目前我们正在运行的平台名称是什么,如:当前我们是在电脑上编译该系统,那么我们的 --build 就可能是 x86,如果在其他种类机器上编译就是那个机器所对应平台名称。
  • host:表示我们把这个编译好的 gcc 在什么样的平台下运行,在交叉编译过程中这个需要我们来指定。host 也可以不指定,那么 host 将自动使用 build 来定义。
    注:–build 和 --host 不同的时候就被配置文件认定为交叉编译方式。
  • target:该参数的目的是让配置程序知道这个软件被编译后使用来处理什么平台上的文件的。

交叉编译

交叉编译参数配置

–build、–host、–prefix,这三个参数是交叉编译最常用的参数
注意:当 –build 和 –host 参数不相等时才为交叉编译。–tartget:表示需要处理的目标平台名称,无指定使用host相同名称,大多数软件交叉编译此参数无用处。–prefix:用于指定库install的路径

–build、–host 参数设置

  • –build (编译平台)

    • 通过查看编译平台的编译软件版本信息获取

      gcc -v

      查看输出的Target

  • –host (运行平台)

    • 通过查看交叉编译编译工具链版本信息获取

      arm-linux-gnueabihf-gcc -v
    • 如果使用arm-linux-gnueabihf-gcc -v指令无法获取版本信息,其实工具链的前缀arm-linux-gnueabihf就是 –host的参数

      交叉编译例子

      ./configure --build=i686-linux-gnu --host=arm-linux-gnueabihf --prefix=/usr/local/arm-xxx

评论 (0)

取消