8

FOO=bar ./configure和之间有什么区别,autoconf 生成的脚本./configure FOO=bar在哪里?我知道前者在运行脚本之前将环境变量设置为,而后者将字符串传递给. 我认为这解释了这一点(并记得吗?)将变量设置为等于,但除此之外,我不知道。特别是,以一种方式或另一种方式来做这件事有什么好处吗?./configureconfigure.amFOObar./configureFOO=bar./configure./configureFOObar

4

1 回答 1

9

将赋值作为参数传递configure可确保赋值在 中可用config.status,因此将设置为 on config.status --recheck。这是将赋值作为参数的主要优点。请注意,当前的 autoconf 文档建议这样做而不是通过环境传递分配。旧版本的 autoconf 不允许将赋值作为参数进行配置,因此在运行旧的配置脚本时必须使用旧形式,而且习惯很难改掉,所以很多人继续使用该环境。但是,通过参数传递赋值是一个好习惯。

于 2012-12-12T20:50:21.130 回答