libtool automake:LIBADD打破静态链接?

时间:2012-06-28 15:45:36

标签: autotools automake libtool

我的计划aa取决于libbb,取决于libcc

在libb的Makefile.am中我添加了

libbb_la_LIBADD = -lcc

在aa的Makefile中我添加了

aa_LDADD = -lbb

这在默认情况下效果很好。

但我需要静态链接,所以我使用--disable-shared运行所有配置 不幸的是,在编译aa时,我得到了:

  

libb_source.c:对libcc_symbol的未定义引用

缺少什么想法?

更新:如果您正在进行交叉编译并使用stagingdir,请不要考虑指定这样的依赖项。

1 个答案:

答案 0 :(得分:1)

不要传递链接标志。给它命名libtool存档,让automake解决它:

aa_LDADD = bb/libbb.la

如果您想构建Windows DLL,可能还需要将-no-undefined放入libbb_la_LDFLAGS