其他分享
首页 > 其他分享> > c – 具有相同名称的库的静态和动态版本是一种常见做法吗?

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

作者:互联网

我下载了一个库(确切地说是NAG c库),并且该库的静态和动态版本具有相同的名称(libnagc_nag).一开始我遇到了麻烦,因为我试图链接到OS X中的静态版本,默认情况下它使用动态库,因此我更改了文件的名称以区分它们(libnagc_nag_s.a和libnagc_nag_d.dylib for OS X和linux中的libnagc_nag_d.so).
我的问题是:给他们两个通用的同名吗?即便如此,以这种方式更改名称是否有任何问题或不利之处?

解决方法:

是的,这是惯例

 libNAME.a

 libNAME.so.VERS 

.a是静态存档.为什么要在程序中添加静态库?如果你这样做,你会遇到轨道上的维护困难.

将-lnagc_nag_d添加到Makefile中的LDFLAGS应足以获得链接的动态库.

标签:c-3,c,linker,static-libraries,dynamic-library
来源: https://codeday.me/bug/20190831/1772962.html