转自:http://blog.csdn.net/darennet/article/details/9003005

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 查看

Linux configure关于交叉编译的参数设置【转】的更多相关文章

  1. linux下如何配置TCP参数设置详解

    设置tcp参数一定要小心谨慎,轻易不要更改线上环境,我贴一下我们线上环境中,sysctl.conf的内容,见文章底部 net.ipv4.tcp_tw_reuse    = 1  net.ipv4.tc ...

  2. Linux环境下Oracle安装参数设置

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作.1.系统信息查看系统信息查看首先服务器ip:192.168.8.120服务器系统:Oracle Lin ...

  3. linux ./configure 的参数详解

    转载自http://blog.csdn.net/zjt289198457/article/details/6918656 linux ./configure 的参数详解   ./configure 该 ...

  4. uboot环境变量(设置bootargs向linux内核传递正确的参数)

    这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误.查看了很多资料后猜想应该是uboot传递 ...

  5. Linux swappiness参数设置与内存交换

    swappiness参数设置与内存交换 by:授客 QQ:1033553122 简介 swappiness,Linux内核参数,控制换出运行时内存的相对权重.swappiness参数值可设置范围在0到 ...

  6. (转)Linux内核参数设置sysctl命令详解

    Linux内核参数设置sysctl命令详解 原文:https://www.zhukun.net/archives/8064 sysctl是一个允许您改变正在运行中的Linux系统的接口. 它包含一些 ...

  7. c/c++编译器配置(交叉编译重要参数)、交叉编译动态库与as配置、mk初步

    gcc/g++/clang,相当于javac: 了解c/c++编译器的基本使用,能够在后续移植第三方框架进行交叉编译时,清楚的了解应该传递什么参数. clang: clang 是一个C.C++.Obj ...

  8. 优化Linux下的内核TCP参数来提高服务器负载能力

    http://blog.renhao.org/2010/07/setup-linux-kernel-tcp-settings/ /proc/sys/net目录 所有的TCP/IP参数都位于/proc/ ...

  9. Tomcat性能参数设置

    Tomcat性能参数设置 Tomcat性能参数设置 博客分类: Java LinuxTomcat网络应用多线程Socket 默认参数不适合生产环境使用,因此需要修改一些参数 1.修改启动时内存参数.并 ...

随机推荐

  1. Merge Intervals - LeetCode

    目录 题目链接 注意点 解法 小结 题目链接 Merge Intervals - LeetCode 注意点 区间是无序的 每个区间start一定小于end 解法 解法一:首先以start的值从小到大来 ...

  2. Alpha 冲刺 —— 十分之六

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 测试服务器并行能力 学习MSI.CUDA ...

  3. 洛谷 P4091 [HEOI2016/TJOI2016]求和 解题报告

    P4091 [HEOI2016/TJOI2016]求和 题目描述 在2016年,佳媛姐姐刚刚学习了第二类斯特林数,非常开心. 现在他想计算这样一个函数的值: \[ f(n)=\sum_{i=0}^n\ ...

  4. 《Linux内核设计与实现》第3章读书笔记

    第三章 进程管理 一.进程 1.进程就是处于执行期的程序,但并不局限于可执行代码.实际上,进程是正在执行的程序代码的实时结果. 2.执行线程是在进程中活动的对象 每个线程拥有一个独立的计数器.进程栈. ...

  5. 解题:TJOI 2015 弦论

    题面 好像是个经典问题,然而我没做过 建SAM,然后经过每个节点的子串数目就可以求了,多个相同子串算一个的话就把所有siz都搞成$1$,否则就是$right$集合的大小,然后就是常见的递推 求第$k$ ...

  6. [CQOI2016] 手机号码 (数位dp)

    link $solution:$ $10^{10} \leq L \leq R < 10^{11}$这个数据范围很容易想到数位$dp$. 依照题意模拟即可. #include<iostre ...

  7. UVAL 7902 2016ECfinal F - Mr. Panda and Fantastic Beasts

    题意: 给出n个串,求一个最短的第一个串的子串使它不在其他的n-1个串中出现,若有多个求字典序最小的. Limits: • 1 ≤ T ≤ 42. • 2 ≤ N ≤ 50000. • N ≤ S1 ...

  8. php获取星期几周几

    PHP星期几获取代码: date("l"); //data就可以获取英文的星期比如Sundaydate("w"); //这个可以获取数字星期比如123,注意0是 ...

  9. python 模块之hashlib

    Hashlib模块 Python里面的hashlib模块提供了很多加密的算法,这里介绍一下hashlib的简单使用事例,用hashlib的md5算法加密数据,其他的所有加密算法使用方式上基本类似. h ...

  10. P1558 色板游戏

    P1558 色板游戏 题目背景 阿宝上学了,今天老师拿来了一块很长的涂色板. 题目描述 色板长度为L,L是一个正整数,所以我们可以均匀地将它划分成L块1厘米长的小方格.并从左到右标记为1, 2, .. ...