假设我想创建一个库 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
,但我猜也有最好的做法。
推荐什么,为什么?