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