如何 link 反对 autotools 项目中刚刚构建的库

How to link against just built libraries in autotools project

我如何 link 一个 autotools 项目的 test 子目录中的可执行文件针对一个库,比如 libfoo,它只是从同一项目的 src 目录中的文件构建的?

Makefile.am 看起来像:

SUBDIRS = src . test
AUTOMAKE_OPTIONS = subdir-objects
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4

src/Makefile.am:

ACLCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
lib_LTLIBRARIES = libfoo.la
libfoo_la_SOURCES = \
    foo.cpp
foo_includedir = $(includedir)/foo
foo_include_HEADERS = \
    foo.hpp

test/Makefile.am:

ACLCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
check_PROGRAMS = footest
footest_SOURCES = \
    main.cpp
footest_LDADD = ?????

这很简单:footest_LDADD = ../src/libfoo.la

这适用于 'out-of-tree' 构建,例如,如果您从另一个目录(而不是 ./configure)调用 configure