将静态库转换为动态链接库的方法

har*_*are 4 linux shared-libraries static-libraries static-linking

如果我所有的库都是*.a静态库.有没有办法可以将其转换为*.so动态链接库?也许用ld?

我正在使用SUSE Linux.ELF平台.

zwo*_*wol 7

此命令将尝试执行您想要的操作:

gcc -shared -Wl,--whole-archive library.a -o library.so
Run Code Online (Sandbox Code Playgroud)

但是如果您的库没有用-fpic/ 编译-fPIC,它可能不是,它将无法工作(它似乎可行,但您没有获得共享库的任何好处).

  • 把`-Wl,-no-whole-archive`放在你希望以这种方式包含的库列表之后是​​很好的 (3认同)