如何将 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
测试/Makefile.am:
ACLCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
check_PROGRAMS = footest
footest_SOURCES = \
main.cpp
footest_LDADD = ?????
最佳答案
这很简单:footest_LDADD = ../src/libfoo.la
这适用于“树外”构建,例如,如果您从另一个目录(而不是 ./configure
)调用 configure
。
关于makefile - 如何链接到 autotools 项目中刚刚构建的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29467967/