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

4
如果我只有一个*.a静态库,有没有办法将其转换为*.so动态链接库?也许可以使用ld工具?我正在使用SUSE Linux操作系统,ELF平台。

参见 https://dev59.com/MHE85IYBdhLWcg3wtV1T。 - dubiousjim
1个回答

7
这个命令将尝试执行您想要的操作:
gcc -shared -Wl,--whole-archive library.a -o library.so

但是如果你的库没有使用-fpic/-fPIC编译,很可能无法正常工作(虽然它可能看起来可以工作,但你无法获得共享库的任何好处)。


4
在想要包含库的列表后面加上“-Wl,-no-whole-archive”是一个好习惯,这样可以使链接器对库进行更细致的处理。 - Dmitry Yudakov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接