图书馆既静态又共享意味着什么?从我读过的内容来看,这两者是相互排斥的。 People tend to define one as the opposite of the other
但是阅读LAME的配置选项,我明白这一点。
$ ./configure --help
`configure' configures lame 3.99.5 to adapt to many kinds of systems.
[...]
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
[...]
答案 0 :(得分:1)
这些标记的作用是构建共享库和静态库,它们不会尝试使单个库既静态又共享。
正如你所说,他们是相互排斥的"从某种意义上说 - 没有一个文件既可以是静态库,也可以是共享库。
在启用静态和共享库编译的Linux系统上,将同时提供* .a和* .so文件,* .so文件用于动态(共享)链接,而* .a文件是用于静态链接。