使用Autotools打包库

时间:2014-10-07 23:25:25

标签: makefile autotools automake

我开始使用Autotools,我正在尝试打包一个库(用于学习目的的通用堆栈实现)以及一些使用示例。

图书馆来源位于src以及examples中的示例。

我有以下Makefile.am

lib_LTLIBRARIES = libstack.la
libstack_la_SOURCES = src/stack.c    

check_PROGRAMS = example/stack
example_stack_SOURCES = example/stack.c
example_stack_LDADD = libstack.la

只要我理解,我需要为libstack.la指定一个标头,并在我的示例中包含该标头,但在添加autoreconf后运行libstack_la_HEADERS = src/stack.h时出现以下错误到Makefile.am

$ autoreconf -iv
... (omiting irrelevant parts)
Makefile.am:3: error: 'libstack_la_HEADERS' is used but 'libstack_ladir' is undefined
autoreconf: automake failed with exit status: 1

我找不到与dir前缀相关的任何信息。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

要处理库的标题,你应该写这样的东西:

libstackincludedir = $(includedir)/my_mega_stack
libstackinclude_HEADERS = stack.h