我开始使用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
前缀相关的任何信息。
我在这里缺少什么?
答案 0 :(得分:0)
要处理库的标题,你应该写这样的东西:
libstackincludedir = $(includedir)/my_mega_stack
libstackinclude_HEADERS = stack.h