1

autotools 是否适用于所有主要的 unix 系统?我正在寻找无需安装任何其他软件和平台独立(UNIX 风格和体系结构)即可编译代码的东西。

4

3 回答 3

3

如果您正确使用自动工具,最终结果是一个脚本configure,以便

 configure
 make
 make install

有效——是的,自动工具的关键在于它应该在任何地方都有效。

于 2012-08-12T15:52:19.447 回答
0

我最近都使用过,总的来说我更喜欢 cmake 而不是 autotools。我发现 cmake 更简单,需要更少的脚本。尽管 cmake make 必须作为选项安装,但大多数 linux 发行版都将包含一个包。

Autotools 适用于简单的项目,但根据我的经验,它们在检查库等时需要大量额外的脚本 - 另一方面,cmake 使得检测依赖关系变得简单。这也是您可能不关心的一个优点 - 但它也使您在 Windows 平台上编译代码更容易

于 2012-08-12T15:56:56.157 回答
-2

Autotools只需要安装在developer的系统上,而不需要安装在builder的系统上。他们的输出是一个独立的 sh 脚本,它将创建所需的 Makefile。但是在某些情况下(例如“自动”依赖项),构建器也可能需要autotools,并且需要特定版本并不少见。

autotools基本上是一个巨大的脚本化晦涩组件集合,由指令文件驱动,以一种更加晦涩的宏语言 - m4编写。如果您发现您的项目将被交叉编译的任何可能性很小,那么请远离autotools及其兄弟姐妹(阅读libtool)。

cmake是一个更好的选择,但还有更好和更精简的程序,例如scons

尽管如此,我不得不承认,与 10 多年前相比,即构思autotools的时候,今天的大多数 Unix 系统大多是 ANSI C 和 POSIX 兼容的。除了经典的make之外,我几乎看不到其他任何东西都能够以可移植的方式编译您的项目。

于 2012-08-12T16:07:11.863 回答