拥有具有相同名称的库的静态和动态版本是一种常见的做法

is it a common practice to have the static and dynamic versions of a library with the same name?

本文关键字:常见 一种 版本 拥有 静态 动态      更新时间:2023-10-16

我下载了一个库(准确地说是nag c库),并且库的静态和动态版本都具有相同的名称(libnagc_nag)。一开始,我遇到了麻烦,因为我试图链接到OS X中的静态版本,并且默认情况下它使用了动态库,因此我更改了文件的名称以区分它们(libnagc_nag_s.s.s.s.a和libnagc_nagc_nag_d.dylib forOS X和libnagc_nag_d.so在Linux中)。我的问题是:给他们同样的名字是一种普遍的做法吗?即使是这样,以这种方式更改其名称有什么问题或缺点?

您也可以向链接器提供完整的库名称(作为对象文件)...

是的,这是具有

的约定
 libNAME.a

 libNAME.so.VERS 

.a是静态存档。但是,为什么想要在您的程序中添加静态库?如果您这样做,您将遇到赛道上的维护困难。

-lnagc_nag_d添加到Makefile中的LDFLAGS应该足以将动态库链接在。

相关文章: