Linux编译中Configure参数选项详解
configure的用法

configure的用法
configure是一个常用的命令行工具,用于配置和安装软件。
它通常用于编译和安装开源软件项目,用于生成Makefile并进行编译和安装。
configure的用法与大多数命令行工具相似,你可以在终端中输入configure命令,后跟选项和参数。
常见的选项包括--prefix、--with-xxx、--disable-xxx等,它们可以用于配置安装路径、开启或关闭某些功能等。
一般来说,使用configure进行编译和安装软件的步骤如下:
1. 解压源代码包,并进入该目录;
2. 运行configure命令,并指定需要的选项;
3. 如果configure运行成功,会生成Makefile文件;
4. 运行make命令进行编译;
5. 运行make install命令进行安装。
需要注意的是,在运行configure命令前,我们需要安装一些必要的依赖库和工具,例如编译器、开发库等。
此外,configure命令也可以接受一些特定的参数,例如--help、--version等,用于查看帮助信息和版本号。
总的来说,configure是一个非常实用的命令行工具,可以帮助我们快速配置和安装开源软件项目,提高开发效率和工作效率。
- 1 -。
linux configure写法

linux configure写法在Linux中,配置脚本通常用于配置和编译软件包。
常见的配置脚本是configure脚本,它使用autoconf和automake工具生成。
一个简单的configure脚本的写法如下:```bash#!/bin/sh# 配置脚本开始# 检查是否安装了必要的工具if ! command -v gcc &> /dev/nullthenecho "编译该软件需要gcc编译器,请先安装gcc。
"exit 1fi# 定义变量prefix=/usr/localbindir=bindatadir=sharemandir=man# 检查参数if [ $# -ne 0 ]thenecho "用法: $0 [prefix]"exit 1fi# 生成Makefile文件aclocal -I m4autoheaderautomake --add-missing --copy --forceautoconf# 配置选项./configure --prefix=$prefix --bindir=$bindir --datadir=$datadir --mandir=$mandir || exit 1# 配置脚本结束```这是一个非常简单的configure脚本,它检查是否已经安装了gcc编译器,并定义了一些变量。
然后,它使用aclocal、autoheader、automake 和autoconf工具生成Makefile文件。
最后,它使用configure脚本进行配置,并指定了一些选项。
rpmbuild configure参数

**rpmbuild configure参数**`rpmbuild` 是Linux 下的一个工具,用于构建RPM 软件包。
在使用`rpmbuild` 进行软件包构建时,经常需要对源代码进行配置,这通常是通过调用源代码目录中的`configure` 脚本完成的。
`configure` 脚本支持大量的参数,以便根据不同的系统和需求进行定制。
以下是 `configure` 脚本中常用的一些参数:1. **--prefix=PREFIX**设置安装目录的前缀。
例如,如果设置为`--prefix=/usr/local`,则执行`make install` 时,软件将被安装到 `/usr/local/bin`、`/usr/local/lib` 等目录下。
2. **--with-PACKAGE**启用某个特定的功能或库。
例如,`--with-ssl` 可能会启用 SSL 支持。
3. **--without-PACKAGE**禁用某个特定的功能或库。
与 `--with-PACKAGE` 相反。
4. **--enable-FEATURE**启用某个特定的特性。
这通常用于可选的功能或实验性功能。
5. **--disable-FEATURE**禁用某个特定的特性。
6. **--help**显示帮助信息,列出所有可用的 `configure` 选项。
7. **CFLAGS, CXXFLAGS, LDFLAGS**这些变量用于指定编译器和链接器的标志。
例如,可以设置优化级别、警告级别、包含的目录等。
8. **--host=HOST**指定目标主机的类型。
这对于交叉编译非常有用,例如,为ARM 架构编译软件但在 x86 上运行 `configure`。
9. **--build=BUILD**指定构建主机的类型。
通常不需要设置,除非你知道自己在做什么。
10. **--cache-file=FILE**使用或创建缓存文件,以存储之前运行的配置测试的结果。
configure 参数

configure 参数在计算机领域中,configure是一个常用的命令,它用于配置软件包以便在特定的系统上进行编译和安装。
configure命令通常是由autotools工具链生成的,autotools是一套自动化构建工具,可以帮助开发者将软件包从源代码构建到二进制可执行文件。
configure参数是指在使用configure命令时可以传递给它的选项和参数,这些选项和参数可以影响软件包的编译、安装和运行。
configure参数主要分为三类:通用选项、编译选项和安装选项。
下面将详细介绍每个选项及其作用:1. 通用选项--help:显示帮助信息。
--version:显示软件包版本号。
--prefix=DIR:指定安装目录,默认为/usr/local。
--exec-prefix=DIR:指定可执行文件目录,默认为prefix目录。
--bindir=DIR:指定二进制文件目录,默认为exec-prefix/bin。
--sbindir=DIR:指定系统二进制文件目录,默认为exec-prefix/sbin。
--libdir=DIR:指定库文件目录,默认为prefix/lib。
--includedir=DIR:指定头文件目录,默认为prefix/include。
--datadir=DIR:指定数据文件目录,默认为prefix/share。
2. 编译选项--build=BUILD:指定编译系统类型,默认为当前系统类型。
--host=HOST:指定运行系统类型,默认为当前系统类型。
--target=TARGET:指定目标系统类型,默认为HOST。
--enable-feature:启用某个功能。
--disable-feature:禁用某个功能。
--with-PACKAGE[=ARG]:指定要使用的库或工具包,ARG表示库或工具包的路径。
--without-PACKAGE:禁用某个库或工具包。
3. 安装选项--disable-shared:禁用共享库,只编译静态库。
Linux命令详解(三).configure、make、makeinstall命令

Linux命令详解(三).configure、make、makeinstall命令这些都是典型的使⽤GNU的AUTOCONF和AUTOMAKE产⽣的程序的安装步骤⼀、基本信息 1、./configure 是⽤来检测你的安装平台的⽬标特征的。
⽐如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
2、make 是⽤来编译的,它从Makefile中读取指令,然后编译。
3、make install是⽤来安装的,它也从Makefile中读取指令,安装到指定的位置。
注意:AUTOMAKE和AUTOCONF是⾮常有⽤的⽤来发布C程序的东西。
⼆、详细解释 1、configure命令 这⼀步⼀般⽤来⽣成 Makefile,为下⼀步的编译做准备,你可以通过在 configure 后加上参数来对安装进⾏控制,⽐如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下⾯,执⾏⽂件就会安装在 /usr/bin (⽽不是默认的 /usr/local/bin),资源⽂件就会安装在/usr/share(⽽不是默认的/usr/local/share)。
同时⼀些软件的配置⽂件你可以通过指定 –sys-config= 参数进⾏设定。
有⼀些软件还可以加上–with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。
2、make 这⼀步就是编译,⼤多数的源代码包都经过这⼀步进⾏编译(当然有些perl或python编写的软件需要调⽤perl或python来进⾏编译)。
如果在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后⼀⾏),然后你可以向开发者提交 bugreport(⼀般在 INSTALL ⾥有提交地址),或者你的系统少了⼀些依赖库等,这些需要⾃⼰仔细研究错误代码。
linux sysconfig命令的用法

linux sysconfig命令的用法Sysconfig是一个在Linux系统中常用的命令行工具,用于配置和管理系统参数。
它提供了许多与系统相关的配置选项,可以用于调整系统的性能、安全性和行为。
本篇文章将详细介绍Sysconfig命令的用法,包括基本语法、选项和参数说明。
一、基本语法sysconfig[选项]参数其中,选项和参数是可选的,具体含义如下:*参数:指定要配置的系统参数,可以是系统服务、网络接口、文件系统等。
二、常用选项和参数说明1.-a:添加配置参数。
2.-d:显示指定服务的详细信息。
3.-f:强制应用配置更改。
4.-m:使用图形界面进行配置。
5.-s:应用配置更改并重启系统。
6.参数:指定要配置的系统服务名称或文件系统路径。
三、用法示例1.配置网络接口参数:sysconfignetworkinginterface[参数]例如:sysconfignetworkinginterface="eth0"ipv4.addresses="192.168.0. 1/24"ipv6.addresses="fe80::1/64"该命令将为eth0接口配置IPv4和IPv6地址设置。
2.显示系统服务的详细信息:sysconfigserviceservice_name例如:sysconfigservicesshd该命令将显示SSH服务的详细信息,包括状态、日志文件等。
3.强制应用配置更改并重启相关服务:sysconfig[选项]参数-s例如:sysconfignetworkinginterface[参数]-s该命令将强制应用网络接口的配置更改,并重启相关服务以应用更改。
四、注意事项1.配置更改可能影响系统的性能和稳定性,请在执行之前备份重要数据。
2.使用Sysconfig进行配置时,请确保了解所配置参数的含义和影响,以免造成系统故障。
3.在使用强制应用配置更改和重启相关服务的选项时,请谨慎操作,以免造成数据丢失或系统崩溃。
configure的用法

configure的用法
configure是一种用于配置软件包的工具,可以帮助用户根据自己的需要定制软件包的安装和编译方式。
使用configure可以轻松地实现自定义的安装路径、编译选项和参数等。
在配置软件包时,常常需要使用configure脚本,该脚本会检测编译环境、依赖库和系统配置等信息,并生成Makefile文件,以便用户进行编译和安装。
configure脚本通常可以通过以下命令来使用:
./configure [选项]
其中,选项可以根据不同的软件包而有所不同,常见的选项包括: --prefix:指定安装路径
--with-xxx:指定依赖库xxx的路径
--enable-xxx:启用某些功能
--disable-xxx:禁用某些功能
--host:指定目标平台
使用configure时需要根据实际情况选择适当的选项,并且要先安装好所需的依赖库。
在执行完configure后,一般需要使用make
命令进行编译,然后使用make install命令进行安装。
configure
是一个非常实用的工具,在软件包的安装和配置中发挥着重要的作用,值得深入学习和掌握。
- 1 -。
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的交叉编译选项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Configure参数选项详解Linux 环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其宗,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。
Configure 脚本配置工具就是基础之一,它是 autoconf 的工具的基本应用。
与一些技巧相比, Configure 显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当然要成为高手,对基础的熟悉不能超越哦。
'configure' 脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的.带上 '--help' 选项执行 'configure' 脚本可以看到可用的所有选项 . 尽管许多选项是很少用到的 , 但是当你为了特殊的需求而 configure 一个包时 , 知道他们的存在是很有益处的 . 下面对每一个选项进行简略的介绍 :'--cache-file=FILE''configure' 会在你的系统上测试存在的特性 ( 或者 bug!). 为了加速随后进行的配置 , 测试的结果会存储在一个cachefile 里 . 当 configure 一个每个子树里都有 'configure' 脚本的复杂的源码树时 , 一个很好的 cachefile 的存在会有很大帮助'--help'输出帮助信息 . 即使是有经验的用户也偶尔需要使用使用 '--help' 选项 , 因为一个复杂的项目会包含附加的选项 . 例如 ,GCC 包里的 'configure' 脚本就包含了允许你控制是否生成和在 GCC 中使用 GNU 汇编器的选项 .'--no-create''configure' 中的一个主要函数会制作输出文件 . 此选项阻止 'configure' 生成这个文件 . 你可以认为这是一种演习(dry run), 尽管缓存 (cache) 仍然被改写了 .'--quiet''--silent'当 'configure' 进行他的测试时 , 会输出简要的信息来告诉用户正在作什么 . 这样作是因为 'configure' 可能会比较慢, 没有这种输出的话用户将会被扔在一旁疑惑正在发生什么 . 使用这两个选项中的任何一个都会把你扔到一旁 .( 译注 : 这两句话比较有意思 , 原文是这样的 :If there wasno such output, the user would be left wondering what is happening. Byusing this option, you too can be left wondering!)'--version'打印用来产生 'configure' 脚本的 Autoconf 的版本号 .'--prefix=PREFIX''--prefix' 是最常用的选项 . 制作出的 'Makefile' 会查看随此选项传递的参数 , 当一个包在安装时可以彻底的重新安置他的结构独立部分 . 举一个例子 , 当安装一个包 , 例如说 Emacs, 下面的命令将会使 Emacs Lisp file 被安装到"/opt/gnu/share":$ ./configure --prefix=/opt/gnu'--exec-prefix=EPREFIX'与 '--prefix' 选项类似 , 但是他是用来设置结构倚赖的文件的安装位置 . 编译好的 'emacs' 二进制文件就是这样一个问件 . 如果没有设置这个选项的话 , 默认使用的选项值将被设为和 '--prefix' 选项值一样 .'--bindir=DIR'指定二进制文件的安装位置 . 这里的二进制文件定义为可以被用户直接执行的程序 .'--sbindir=DIR'指定超级二进制文件的安装位置 . 这是一些通常只能由超级用户执行的程序 .'--libexecdir=DIR'指定可执行支持文件的安装位置 . 与二进制文件相反 , 这些文件从来不直接由用户执行 , 但是可以被上面提到的二进制文件所执行 .'--datadir=DIR'指定通用数据文件的安装位置 .'--sysconfdir=DIR'指定在单个机器上使用的只读数据的安装位置 .'--sharedstatedir=DIR'指定可以在多个机器上共享的可写数据的安装位置 .'--localstatedir=DIR'指定只能单机使用的可写数据的安装位置 .'--libdir=DIR'指定库文件的安装位置 .'--includedir=DIR'指定 C 头文件的安装位置 . 其他语言如 C++ 的头文件也可以使用此选项 .'--oldincludedir=DIR'指定为除 GCC 外编译器安装的 C 头文件的安装位置 .'--infodir=DIR'指定 Info 格式文档的安装位置 .Info 是被 GNU 工程所使用的文档格式 .'--mandir=DIR'指定手册页的安装位置 .'--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' 是不必要的同时也是不好的 . 一个由 'configure' 产生的良好的 'Makefile' 可以构筑源码属于另一棵树的软件包 . 在一个独立于源码的树中构筑派生的文件的好处是很明显的 : 派生的文件 , 如目标文件 , 会凌乱的散布于源码树 . 这也使在另一个不同的系统或用不同的配置选项构筑同样的目标文件非常困难 . 建议使用三棵树 :一棵源码树 (source tree), 一棵构筑树 (buildtree), 一棵安装树 (install tree). 这里有一个很接近的例子 , 是使用这种方法来构筑 GNU malloc 包 :$ gtar zxf mmalloc-1.0.tar.gz$ mkdir build && cd build$ ../mmalloc-1.0/configurecreating cache ./config.cachechecking for gcc... gccchecking whether the C compiler (gcc ) works... yeschecking whether the C compiler (gcc ) is a cross-compiler... nochecking whether we are using GNU C... yeschecking whether gcc accepts -g... yeschecking for a BSD compatible install... /usr/bin/install -cchecking host system type... i586-pc-linux-gnuchecking build system type... i586-pc-linux-gnuchecking for ar... archecking for ranlib... ranlibchecking how to run the C preprocessor... gcc -Echecking for unistd.h... yeschecking for getpagesize... yeschecking for working mmap... yeschecking for limits.h... yes 。