关于configure中build,target,host中的若干问题
来源:互联网 发布:it公司 知乎 编辑:程序博客网 时间:2024/05/22 15:36
今天学习GDB的过程中,发现了了一个configure的问题,就是configure中build,target,host到底代表什么意思.在往上搜索到了这篇文档.
可以参考:http://www.airs.com/ian/configure/configure_toc.html
Reference:
http://www.tcpdump.org/lists/workers/2001/11/msg00148.html
Nope. See `info standards' for the definition of $build*, $host* and
$target* macros. Basically, $build* refer to the system compilation is
being performed on, $host* refer to the system compiled binaries are to
run on and $target* refer to the system compiled binaries will handle. As
such $target* usually have a meaning a meaning for developemt tool only.
So far packages that make use of $target* I know of are binutils, gcc,
gdb and ksymoops (a Linux run-time error disassembler). Let's take
binutils as an example. I compile it in several ways, following are
examples of configure invocations:
1. `./configure --build=mipsel-linux --host=mipsel-linux
--target=mipsel-linux' will build native mipsel-linux binutils on
mipsel-linux.
2. `./configure --build=i386-linux --host=mipsel-linux
--target=mipsel-linux' will cross-build native mipsel-linux binutils on
i386-linux.
3. `./configure --build=i386-linux --host=i386-linux
--target=mipsel-linux' will build mipsel-linux cross-binutils on
i386-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.
As you see, only if $build != $host a cross-compilation is performed.
具体解释一下,build就是你正在使用的机器,host就是你编译好的程序可以运行的平台,target就是你编译的程序可以处理的平台.这个build和host比较好理解,但是target就不好办了,到底什么意思呢?一般来说,我们平时所说的交差编译用不到他target的,比如./configure --build=i386-linux,--host=arm-linux就可以了,在386的平台上编译可以运行在arm板的程序.但是,一般我们都是编译程序,而不是编译工具,如果我们编译工具,比如gcc,这个target就有用了.如果我们需要在一个我们的机器上为arm开发板编译一个可以处理mips程序的gcc,那么target就是mips了.不知道我的解释是否正确,如果大家看到了这篇帖子,觉得不对,批评指正.
可以参考:http://www.airs.com/ian/configure/configure_toc.html
Reference:
http://www.tcpdump.org/lists/workers/2001/11/msg00148.html
Nope. See `info standards' for the definition of $build*, $host* and
$target* macros. Basically, $build* refer to the system compilation is
being performed on, $host* refer to the system compiled binaries are to
run on and $target* refer to the system compiled binaries will handle. As
such $target* usually have a meaning a meaning for developemt tool only.
So far packages that make use of $target* I know of are binutils, gcc,
gdb and ksymoops (a Linux run-time error disassembler). Let's take
binutils as an example. I compile it in several ways, following are
examples of configure invocations:
1. `./configure --build=mipsel-linux --host=mipsel-linux
--target=mipsel-linux' will build native mipsel-linux binutils on
mipsel-linux.
2. `./configure --build=i386-linux --host=mipsel-linux
--target=mipsel-linux' will cross-build native mipsel-linux binutils on
i386-linux.
3. `./configure --build=i386-linux --host=i386-linux
--target=mipsel-linux' will build mipsel-linux cross-binutils on
i386-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.
As you see, only if $build != $host a cross-compilation is performed.
具体解释一下,build就是你正在使用的机器,host就是你编译好的程序可以运行的平台,target就是你编译的程序可以处理的平台.这个build和host比较好理解,但是target就不好办了,到底什么意思呢?一般来说,我们平时所说的交差编译用不到他target的,比如./configure --build=i386-linux,--host=arm-linux就可以了,在386的平台上编译可以运行在arm板的程序.但是,一般我们都是编译程序,而不是编译工具,如果我们编译工具,比如gcc,这个target就有用了.如果我们需要在一个我们的机器上为arm开发板编译一个可以处理mips程序的gcc,那么target就是mips了.不知道我的解释是否正确,如果大家看到了这篇帖子,觉得不对,批评指正.
- 关于configure中build,target,host中的若干问题
- 关于configure中build,target,host中的若干问题
- 关于configure中build,target,host中的若干问题
- 关于configure中build,target,host中的若干问题
- 关于configure中build,target,host中的若干问题
- 关于Linux系统中configure中build,target,host中的若干问题
- 关于configure中的build/host/target
- configure文件中的build、host、target含义
- ./configure -build,-host,-target设置
- ./configure -build,-host,-target设置
- ./configure -build,-host,-target设置
- ./configure -build,-host,-target设置
- ./configure -build,-host,-target设置
- ./configure -build,-host,-target设置
- ./configure -build,-host,-target设置
- ./configure -build,-host,-target设置
- 关于configure的build,host,target编译选项的理解.
- GNU Configure 中的 build target和host 的区别
- 动态链接库dll,导入库lib 与 静态链接库lib
- poj 1422 最小路径覆盖
- 关于Windows消息的发送和接收入门
- 工程师们,不要想一辈子靠技术混饭吃!
- CRITICAL_SECTION
- 关于configure中build,target,host中的若干问题
- Jquery时间对象的格式化
- AS3多线程快速入门(一):Hello World[译]
- 国外经典网页设计:50个优秀的移动网站设计实例
- 如何在Django中接收JSON格式的数据。
- 详解C中volatile关键字
- OpenCV笔记
- Java String类型数据的字节长度
- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks