交叉编译 configure 常见参数含义

--host --build --target

host:就是你编译好的程序能够运行的平台, build:就是你正在使用的机器平台,能够不用配置。 target:就是你编译的程序能够处理的平台,通常用不到。linux

build和host相同时表示本地编译,若不相同则表示交叉编译。 通常来讲,咱们平时所说的交差编译用不到target的,由于通常咱们都是编译程序,而不是编译工具。若是咱们编译工具,好比gcc,这个target就有用了.若是咱们须要在一个咱们的机器上为arm开发板编译一个能够处理mips程序的gcc,那么target就是mips。工具


例:ui

  1. './configure --build=mipsel-linux --host=mipsel-linux --target=mipsel-linux' will build native mipsel-linux binutils on mipsel-linux.
  1. './configure --build=i386-linux --host=mipsel-linux --target=mipsel-linux' will cross-build native mipsel-linux binutils on i386-linux.
  1. './configure --build=i386-linux --host=i386-linux --target=mipsel-linux' will build mipsel-linux cross-binutils on i386-linux.
  1. './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.orm

--prefix

--prefix选项是配置安装的路径。把全部install的文件放在统一的路径中ip


例:资源

./configure --prefix=/usr/local/test开发

若是不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share,比较凌乱。get

--enable-static --disable-shared

enable-static: 编译成静态库 disable-shared: 不编译成动态库io

相关文章
相关标签/搜索