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 查看
==============================================
原文http://blog.csdn.net/stevenliyong/archive/2008/12/11/3497421.aspx
这是pkgconfig 官方, 给出的使用pkg-config 配置交叉编译环境的方法.
http://pkgconfig.freedesktop.org/wiki/CrossCompileProposal
1.
现阶段还不能直接通过 --host 参数控制交叉编译过程中链接的package路径.
只能通过$PKG_CONFIG_PATH 或 $PKG_CONFIG_LIBDIR.
1.1
Note that when specifying PKG_CONFIG_LIBDIR, pkg-config will completely ignore the content in PKG_CONFIG_PATH, even if the documentation states different things.
我的做法是在交叉编译的时候使用
export PKG_CONFIG_LIBDIR=/nfsroot/arm-xscale-linux-gnu/steven_root/pkgconfig
1.2.
In a cross compile situation, some .pc files on the system will be for the build machine and some will be for the target machine. In order to make sure that the build machine's .pc files are not found, both the $PKG_CONFIG_PATH and $PKG_CONFIG_PATH environment variables must be set to directories containing only target machine `.pc files.
2.
pkgconfig 官方给出将来可能采用的一种方法就是通过auto-config 的参数 --host 来自动判断用户交叉编译环境.
In order for pkg-config to be smart about picking what .pc files to use, it needs to know the what it is targetting. The proposed solution to this is to add a --host option to the program
关注pkgconfig 此功能的实现.
That's all!
Steven.
===================================
原文http://blog.csdn.net/stevenliyong/archive/2008/12/11/3497544.aspx
动态库文件的搜索路径除了通过 LD_LIBRARY_PATH 来指明,
还可以在 /etc/ld.so.conf 文件中添加库的搜索路径。
将自己可能存放库文件的路径都加入到/etc/ld.so.conf 。如:
/usr/local/lib
/opt/navu/lib
/opt/GPL/lib
发表于 @ 2008年12月20日 20:13:00 | 评论( 0 ) | 编辑| 举报| 收藏
旧一篇:liboil编译选项 | 新一篇:编译gstreamer相关
-
查看最新精华文章 请访问博客首页相关文章
交叉编译glib交叉编译场景分析(arm-linux)(一)--基本知识Linux configure关于交叉编译的参数设置 (转)vCard解析 可以用libmimedir 了交叉编译pure-ftpd时,配置的时候出错。交叉编译packageLinux configure关于交叉编译的参数设置编译源代码发表评论表 情: 评论内容: 用 户 名:登录 注册 匿名评论 allen_young_yang验 证 码: 重新获得验证码
热门招聘职位【航天信息股份有限公司】诚聘系统架构,需求分析、JAVA开发、C/C++开发研发岗位热招中【可得眼镜网】诚聘网站技术开发工程师、UED、DBA以及美工设计这可能是你从未见过的技术人员招聘广告!【上海东方久信集团】招聘.NET软件工程师【杭州引力】高薪诚聘ios开发人员【群硕软件】诚聘优秀IT人才(.Net,Java, Android etc)【推博网】诚聘PHP/VC/MYSQLDBA/UI/WEB设计等职位【北京盛安怡和公司】招聘Windows C/C++,php等人员【PDE】游戏公司诚聘程序员荷兰互联网公司诚聘Web(Rails)开发工程师【重庆大龙网】高薪诚聘中高级软件工程师美资高薪诚聘软件开发及数据库人才【航天信息股份有限公司】诚聘系统架构,需求分析、JAVA开发、C/C++开发研发岗位热招中【可得眼镜网】诚聘网站技术开发工程师、UED、DBA以及美工设计这可能是你从未见过的技术人员招聘广告!【上海东方久信集团】招聘.NET软件工程师【杭州引力】高薪诚聘ios开发人员【群硕软件】诚聘优秀IT人才(.Net,Java, Android etc)【推博网】诚聘PHP/VC/MYSQLDBA/UI/WEB设计等职位【北京盛安怡和公司】招聘Windows C/C++,php等人员【PDE】游戏公司诚聘程序员荷兰互联网公司诚聘Web(Rails)开发工程师【重庆大龙网】高薪诚聘中高级软件工程师美资高薪诚聘软件开发及数据库人才厂商相关内容VS2010 SharePoint 入门
Flex4 新特性
【免费下载】WebMatrix建站工具
AIX 专区有奖话题讨论
4.21日Adobe企业RIA开发者研讨会
MeeGo中文社区全新呈现
<<>> 热门招聘职位【航天信息股份有限公司】诚聘系统架构,需求分析、JAVA开发、C/C++开发研发岗位热招中【可得眼镜网】诚聘网站技术开发工程师、UED、DBA以及美工设计这可能是你从未见过的技术人员招聘广告!【上海东方久信集团】招聘.NET软件工程师【杭州引力】高薪诚聘ios开发人员【群硕软件】诚聘优秀IT人才(.Net,Java, Android etc)【推博网】诚聘PHP/VC/MYSQLDBA/UI/WEB设计等职位【北京盛安怡和公司】招聘Windows C/C++,php等人员【PDE】游戏公司诚聘程序员荷兰互联网公司诚聘Web(Rails)开发工程师【重庆大龙网】高薪诚聘中高级软件工程师美资高薪诚聘软件开发及数据库人才. 公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告
北京创新乐知信息技术有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
江苏乐知网络技术有限公司 提供商务支持
Email:[email protected]
Copyright © 1999-2010, CSDN.NET, All Rights Reserved
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fei1700/archive/2008/12/20/3566346.aspx