0

假设我想创建一个库 A 链接到另一个(系统)库 B,其中安装了以下文件:

$ ll /usr/lib/libB*
libB.so -> libB.so.3
libB.so.3 -> libB.so.3.0
libB.so.3.0

在创建我自己的libA.so*时,我认为libB.so*在链接行中包含任何一个都是很好的做法。事实上,链接器标志-Wl,--no-undefined甚至强制执行此操作。

libB上面哪些文件用于链接似乎没有什么区别,因为最终它们都指向同一个文件libB.so.3.0,但我猜也有最好的做法。

推荐什么,为什么?

4

1 回答 1

1

推荐什么,为什么?

libB.so官方仅支持链接。链接libB.so.3libB.so.3.0或多或少是偶然的;不要这样做。

您可以在此处阅读有关外部库版本控制的信息。

于 2013-02-23T04:16:40.243 回答