Autotools:是否可以进行共享库的交叉链接

时间:2013-12-27 19:21:32

标签: gcc shared-libraries autotools automake

我可能很愚蠢但认为可以做交叉链接:

                               Lib A                            Lib A1
===========   Calling Func A ===========  A calls Func A1   =============
| EXE File |   ===>          |  Func A |   ============>    | Func A1    |
===========                  |  Func B |   A1 calls fun B   =============
                             ===========   <===========     

EXE和两个图书馆正在开发中。

如果可能的话怎么办?

1 个答案:

答案 0 :(得分:1)

编辑:在我研究并发现了libtool手册和推荐反对它的邮件列表的证据之后,我决定完全删除我以前的答案。

是的,您可以让库彼此依赖。您可能最终只得到静态库(可以使用未定义的符号),因为并非所有平台都完全支持对共享库的循环依赖。

Libtool有一些代码来处理共享库的复杂依赖关系,但它没有完全移植到所有平台;即使你传入--disable-static --enable-shared,你也会得到更保守的实现(静态库)。