您的位置 首页 IOT

Linux configure关于穿插编译的参数设置

configure的参数众多,一般包括如下:–srcdir=DIR这个选项对安装没有作用.他会告诉’configure’源码的位置.一般来说不用指定此选项,因为’configure’脚本一般和

configure的参数许多,一般包括如下:

–srcdir=DIR

这个选项对装置没有效果.他会告知’configure’源码的方位.一般来说不必指定此选项,由于’configure’脚本一般和源码文件在同一个目录下.

–program-prefix=PREFIX

指定将被加到所装置程序的姓名上的前缀.例如,运用’–program-prefix=g’来configure一个名为’tar’的程序将会使装置的程序被命名为’gtar’.当和其他的装置选项一同运用时,这个选项只有当他被`Makefile.in’文件运用时才会作业.

–program-suffix=SUFFIX

指定将被加到所装置程序的姓名上的后缀.

–program-transform-name=PROGRAM

这儿的PROGRAM是一个sed脚本.当一个程序被装置时,他的姓名将经过`sed -e PROGRAM’来发生装置的姓名.

–build=BUILD

指定软件包装置的体系渠道.假如没有指定,默许值将是’–host’选项的值.

–host=HOST

指定软件运转的体系渠道.假如没有指定,将会运转`config.guess’来检测.

–target=GARGET

指定软件面向(target to)的体系渠道.这主要在程序语言东西如编译器和汇编器上下文中起效果.假如没有指定,默许将运用’–host’选项的值.

–disable-FEATURE

一些软件包能够挑选这个选项来供给为大型选项的编译时装备,例如运用Kerberos认证体系或许一个实验性的编译器最优装备.假如默许是供给这些特性,能够运用’–disable-FEATURE’来禁用它,这儿’FEATURE’是特性的姓名.例如:

$ ./configure –disable-gui

-enable-FEATURE[=ARG]

相反的,一些软件包或许供给了一些默许被制止的特性,能够运用’–enable-FEATURE’来起用它.这儿’FEATURE’是特性的姓名.一个特性或许会承受一个可选的参数.例如:

$ ./configure –enable-buffers=128

`–enable-FEATURE=no’与上面说到的’–disable-FEATURE’是同义的.

–with-PACKAGE[=ARG]

在自由软件社区里,有运用已有软件包和库的优异传统.当用’configure’来装备一个源码树时,能够供给其他现已装置的软件包的信息.例如, 倚赖于Tcl和Tk的BLT器材东西包.要装备BLT,或许需求给’configure’供给一些关于咱们把Tcl和Tk装的何处的信息:

$ ./configure –with-tcl=/usr/local –with-tk=/usr/local

‘–with-PACKAGE=no’与下面将说到的’–without-PACKAGE’是同义的.

–without-PACKAGE

有时分你或许不想让你的软件包与体系已有的软件包交互.例如,你或许不想让你的新编译器运用GNU ld.经过运用这个选项能够做到这一点:

$ ./configure –without-gnu-ld

–x-includes=DIR

这个选项是’–with-PACKAGE’选项的一个特例.在Autoconf开始被开发出来时,盛行运用’configure’来作为 Imake的一个变通办法来制造运转于X的软件.’–x-includes’选项供给了向’configure’脚本指明包括X11头文件的目录的办法.

–x-libraries=DIR

相似的,’–x-libraries’选项供给了向’configure’脚本指明包括X11库的目录的办法.

==========================

赤色高亮这一个参数是咱们穿插编译运用的要点:configure –host=arm-linux 这便是arm的穿插编译选项;configure –host=mipsel-linux 这个便是mipsel的穿插编译选项。

============================

下面转一篇对我有协助的博客

在穿插编译的时分总是运用configure –host=arm-linux 嘿嘿 但是在CONFIGURE中有许多的测验程序是不能够在HOST上运转的就会呈现: error: cannot run test program while cross compiling

相似的过错,能够运用CACHEFILE处理这个问题,还要谢谢ABSURD兄的文章给我的辅导。

我是这样处理的第一步:记录下过错的当地如:checking abstract socket namespace… configure: error: cannot run test program while cross compiling

注意到abstract socket namespace在configure中查找abstract socket能够看到相似这样的结构

echo $as_me:$LINENO: checking abstract socket namespace >5

echo $ECHO_N checking abstract socket namespace… $ECHO_C >6

if test ${ac_cv_have_abstract_sockets+set} = set; then

echo $ECHO_N (cached) $ECHO_C >6

其间ac_cv_have_abstract_sockets是咱们要查找的变量

运用echo ac_cv_have_abstract_sockets=yes>arm-linux.cache

然后

./configure –host=arm-linux –cache-file=arm-linux.cache

K这样就搞定了

别的:

1:fedora 中 /sbin/init 3 封闭图形界面

有些 configure 依靠lib 编译,而且需求pkg-config 支撑,或许需求设定 PKG_CONFIG_PATH 环境变量, 此变量指向所依靠lib 的xxx.pc描绘文件, xxx.pc描叙lib 的特性,如:

prefix=/develop/upnp/mips_libupnp

exec_prefix=${prefix}

libdir=${exec_prefix}/lib

includedir=/develop/upnp/mips_libupnp/include

Name: libupnp

Description: Linux SDK for UPnP Devices

Version: 1.6.3

ibs: -L${libdir} -lupnp -lthreadutil -lixml

Cflags: -pthread -I${includedir}/upnp

2:configure 脚本判别lib 是否存在时是选用编译C 文件的办法,所以有时分穿插编译时,可经过修正 configure文件经过测验,详细是增加 -I 或许-L 指明方位。有些经过 –host 指定方针渠道,–host=mipsel-linux (libupnp);有些经过 –cross-prefix=mipsel-linux- –cross-compile(ushare) 指定,详细可经过configure –help/-h 检查。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/321227.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部