Linux中“./configure”的各种选项/参数是啥

Posted

技术标签:

【中文标题】Linux中“./configure”的各种选项/参数是啥【英文标题】:What are various options / arguments for "./configure" in LinuxLinux中“./configure”的各种选项/参数是什么 【发布时间】:2011-09-07 20:16:10 【问题描述】:

我看到在 Linux 中安装新软件时,我总是要先使用configure

但有时我们需要像我今天所做的那样传递各种选项来安装lxml

./configure --with-python=/opt/python27/bin/python 
--prefix=/usr/local 
--with-libxml-prefix=/usr/local 
--with-libxml-include-prefix=/usr/local/include 
--with-libxml-libs-prefix=/usr/local/lib

现在我想知道这个人怎么知道可以使用像--with-python这样的参数类型? 我的意思是:

    这些参数在所有软件包中是否相同,或者它们因软件而异?

    我什至还尝试阅读文档,但没有人提及这些参数。

【问题讨论】:

看脚本:less configure 对此我只能用通俗的话来说——但是编写 ./configure 然后访问自动完成(选项卡)你会得到一个可能的选项列表。这些绝对是独一无二的,具体取决于实际的软件。 @Mikaveli:认真的吗?它是一个自动生成的脚本,被创建为尽可能便携和健壮(而不是可读),因此非常不可读(就像它生成的 makefile 一样),不适合手动检查。 ./configure --help 是要走的路。只需按照 abritary autotools 教程,从其超级简单的 configure.in 生成配置脚本并尝试阅读。 @delnan:我也看到了很多手动创建的配置脚本,所以我总是先快速浏览一遍。 :) 【参考方案1】:

configure --help 总是有帮助的。但请注意:在许多包中,不仅***源目录 有一个configure 脚本,而且每个子目录 都可能有其配置脚本。因此,要了解可以传递给 ***源目录configure 脚本的所有可能参数,您还应该查看每个 子目录 中的 configure 脚本。 例如,在binutils-2.34 tarball 的***源目录 中有--with-sysroot--with-lib-path 参数。如果您在顶部源目录中键入./configure --help,则它们都没有文档项,因为它们记录在子目录下的configure脚本中@987654330 @。所以你应该输入./ld/configure --help

【讨论】:

【参考方案2】:

我知道configure --help,但提供的信息很“简单”。以下 GNU 资源包含有用的附加信息:

Installation directory variables

Release process

【讨论】:

【参考方案3】:

Autoconf 生成的所有配置脚本中有些是相同的(大部分是,但不是全部);例如--prefix 基本上是通用的。其他是特定配置脚本所特有的。

【讨论】:

【参考方案4】:
./configure --help

这将显示该特定 configure 脚本的所有选项。

【讨论】:

从来不知道这是一种标准做法......哇。我喜欢 CLI 中的应用程序和命令,很高兴知道可以列出 ./configure [OPTION]s。感谢您的回答 这似乎并不详尽。例如:“--disable-shared”未列出,但“--disable-FEATURE”已列出,但必须在别处查找可用的“FEATURE[s]”。这就是我正在寻找的东西,并带我到这里。所以现在我必须自己进行 RTFM。

以上是关于Linux中“./configure”的各种选项/参数是啥的主要内容,如果未能解决你的问题,请参考以下文章

Linux源码安装过程中选项—prefix的作用

Linux中 ./configure --prefix命令

我的eclipse里面为啥有吗configure这个选项

Linux ./configure --prefix 命令是什么意思?

linux -- "./configure --prefix "命令

Linux 之 ./configure --prefix 命令