2

我正在使用 automake 构建一个 c++ 程序。它使用了许多我想动态链接的库。

但是,我想静态链接一个库。我不是在构建这个库,我有一个由第三方提供的 .a 文件,我想使用它。

在 configure.ac 或 Makefile.am 中是否有一种简单的方法来指定该库必须静态链接,而对所有其他库保持正常的动态链接行为不变?

4

2 回答 2

1

静态或动态链接的决定是由用户而非维护者做出的决定,因此尝试在 autotool 元文件中做出该决定是没有意义的。如果用户想静态链接,最可靠的做法是确保链接器搜索到的目录中不存在动态库。

于 2013-03-08T17:50:53.330 回答
0

我找到了答案。

它通过在 Makefile.am 中添加库路径来工作:

programname_LDADD = /usr/lib/libneeded.a

仅当路径完全是指定的路径时,这才有效。

于 2013-03-09T10:36:44.397 回答