1

在过去的几天里,我一直在使用 autotools 工具,终于取得了重大进展。我遇到的一个问题是我有两个库需要在主应用程序代码之前编译。我不太确定该怎么做。我的目录结构如下,也是我的 configure.ac 的一个片段。

AC_CONFIG_FILES([Makefile
         src/Makefile
         gtkworkbook/Makefile
         csv/Makefile])
AC_OUTPUT

我需要在src/Makefile之前编译csv/Makefilegtkworkbook/ Makefile ;有没有办法指定这个?现在我收到一个关于应用程序编译过程中不存在的库(csv)的错误。

4

1 回答 1

4

AC_CONFIG_FILES() 中的项目顺序不影响构建顺序。如果您使用的是我假设您使用的 automake,它将按照您在每个 Makefile.am 的 SUBDIRS 列表中列出目录的顺序遍历您的目录树。

话虽如此,您应该让 AC_CONFIG_FILES() 中的项目顺序反映构建顺序,以保持一致性/可维护性。

您的顶级 Makefile.am 的 SUBDIRS 如何按所需顺序构建的示例:

SUBDIRS = csv gtkworkbook src

此外,对于这个简单的情况,您不需要 AC_CONFIG_FILES() 和 AC_OUTPUT()。您可以将列表目录传递给 AC_OUTPUT():

AC_OUTPUT([
    Makefile
    src/Makefile
    gtkworkbook/Makefile
    csv/Makefile
])
于 2009-06-11T22:10:28.733 回答