【发布时间】:2012-06-28 15:45:35
【问题描述】:
我有一个依赖于libbb 的程序aa,它依赖于libcc。
在 libb 的 Makefile.am 中我添加了
libbb_la_LIBADD = -lcc
在我添加的aa的Makefile中
aa_LDADD = -lbb
这在默认情况下非常有效。
但我需要静态链接,所以我使用--disable-shared 运行所有配置。
不幸的是,在编译 aa 时,我得到了:
libb_source.c:对 libcc_symbol 的未定义引用
任何想法缺少什么?
更新:如果您正在交叉编译并使用 stagingdir,请不要考虑指定这样的依赖项。
【问题讨论】:
-
如果 'libbb' 和 'libcc' 是用 libtool 构建的,
LIBADD和LDADD变量应该列出libbb.la而不是-lbb。您可以有条件地将-static添加到AM_LDFLAGS变量中。 -
@BrettHale 不要将答案放在 cmets 中,我的朋友! :)
-
但是如果我在交叉编译和使用暂存目录,我还应该如何指定我的依赖项?
标签: autotools automake libtool