1

我将单元测试放在源代码的同一目录中。但是我如何在 Makefile.am 中为所有这些单元测试设置 LDADD 以使用特定的库(例如谷歌测试)?

4

1 回答 1

2

的内容LDADD用于所有目标,除非此变量被 覆盖target_LDADD。因此,如果您有很多单元测试,并且只有几个实际程序,您可以将LDADD其用于单元测试并为具有不同链接要求的每个程序覆盖它。

LDADD = libtest.a   # Used by default for all targets

# Unit tests, using above LDADD
check_PROGRAMS = one two three
one_SOURCES = one.c
two_SOURCES = two.c
three_SOURCES = three.c

# Main program
bin_PROGRAMS = main
main_SOURCES = main.c
main_LDADD =        # Override the LDADD setting.

一个类似的例子可以在文档中LDADD找到。

于 2011-07-13T07:29:17.053 回答