文档章节

./configure -build,-host,-target设置

娱乐你我
 娱乐你我
发布于 2014/01/24 17:22
字数 608
阅读 56
收藏 0

build:执行代码编译的主机,正常的话就是你的主机系统。这个参数一般由config.guess来猜就可以。当然自己指定也可以。
host:编译出来的二进制程序所执行的主机,因为绝大多数是如果本机编译,本机执行。所以这个值就等于build。只有交叉编译的时候(也就是本机编译,其他系统机器执行)才会build和host不同。用host指定运行主机。
target:这个选项只有在建立交叉编译环境的时候用到,正常编译和交叉编译都不会用到。他用build主机上的编译器,编译一个新的编译器(
binutils, gcc,gdb等),这个新的编译器将来编译出来的其他程序将运行在target指定的系统上。
让我们以编译binutils为例:
1. `./configure --build=mipsel-linux --host=mipsel-linux --target=mipsel-linux' 
说明我们利用
mipsel-linux的编译器对binutils进行编译,编译出来的binutils运行在mipsel-linux,这个binutils用来编译能够在mipsel-linux运行的代码。“当然没有人会用这个选项来编译binutils”

2. `./configure --build=i386-linux --host=mipsel-linux
--target=mipsel-linux' will cross-build native mipsel-linux binutils oni386-linux.

说明我们利用i386-linux的编译器对binutils进行编译,编译出来的binutils运行在mipsel-linux,这个binutils用来编译能够在mipsel-linux运行的代码。“这个选项可以用来为其他的机器编译它的编译器”。

3. `./configure --build=i386-linux --host=i386-linux
--target=mipsel-linux' will build mipsel-linux cross-binutils on i386-linux.

说明我们利用i386-linux的编译器对binutils进行编译,编译出来的binutils运行在i386-linux,这个binutils用来编译能够在mipsel-linux运行的代码。“这个选项用来在i386主机上建立一个mipsel-linux的交叉编译环境”。

4. `./configure --build=mipsel-linux --host=i386-linux
--target=mipsel-linux' will cross-build mipsel-linux cross-binutils for
i386-linux on mipsel-linux.
说明我们利用mipsel-linux的编译器对binutils进行编译,编译出来的binutils运行在i386-linux,这个binutils用来编译能够在mipsel-linux运行的代码。“这个选项可以用来在i386主机上建立一个mipsel-linux的交叉编译环境,但是交叉编译环境在mipsel-linux 编译出来,安装到i386-linux主机上,估计没有多少人会这么用吧

总的来说,只有host !=build的时候编译才是交叉编译。否则就是正常编译。


本文转载自:http://www.cppblog.com/iuranus/archive/2011/07/22/151615.html

娱乐你我
粉丝 39
博文 32
码字总数 23759
作品 0
福州
程序员
私信 提问
交叉编译 configure 常见参数含义

--host --build --target host:就是你编译好的程序可以运行的平台,build:就是你正在使用的机器平台,可以不用配置。target:就是你编译的程序可以处理的平台,一般用不到。 build和host相同时表...

拉风的道长
2018/09/02
79
0
编译gcc出现问题 C compiler cannot create executables

今天编译gcc 出现问题,一直困扰,大神求助: gmp,mpc ,mpfr ,isl都手动装好了但是还是有如下错误: checking for x86_64-none-linux-strip... x86_64-none-linux-strip checking for a t...

esolodo
2015/05/26
12.1K
10
log4plus编译之ios

$ ./configure --prefix=/Users/admin/Desktop/库的编译/log4cplus-1.0.4/build/armv6 -host= i386-apple-darwin -disable-shared -enable-static -build=x86_64-apple-darwin10.8.0 CC=/App......

叶叶叶
2014/02/17
595
0
在cmake中使用configure和make

/*** • 此文章解释权归windsome所有,如要转载无须联系本人。 • 转载需要包含此抬头信息,如有疑问,欢迎联系本人。 • QQ: 35327864 • msn: fgwf1@hotmail.com • mail: agooou@gmail...

shzwork
05/21
5
0
c编译 gcc问题 没搞过啊!求帮助 急

checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking......

SandKing
2013/10/10
7.7K
4

没有更多内容

加载失败,请刷新页面

加载更多

查看线上日志常用命令

cat 命令(文本输出命令) 通常查找出错误日志 cat error.log | grep 'nick' , 这时候我们要输出当前这个日志的前后几行: 显示file文件里匹配nick那行以及上下5行 cat error.log | grep -C ...

xiaolyuh
26分钟前
3
0
六、Java设计模式之工厂方法

工厂方法定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 类型:创建型 工厂方法-使用场景: 创建对象需要大量重复的代码 ...

东风破2019
32分钟前
3
0
win服务器管理遇到的一系列问题记录

有些小伙伴在使用iis7远程桌面管理工具的时候总是会遇到一系列的问题,下面就是为大家介绍一下服务器日常管理过程中出现的问题及我的解决办法和心得。希望能帮到大家。   拒绝服务器重新启...

1717197346
40分钟前
4
0
flutter 剪切板 复制粘贴

复制粘贴功能 import 'package:flutter/services.dart'; Clipboard.setData(ClipboardData(text:_text));Clipboard.getData;...

zdglf
42分钟前
3
0
如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?

面试题 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题? 面试官心理分析 这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费...

米兜
43分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部