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

标签 linux shared-libraries static-libraries static-linking

如果我拥有的库只是一个 *.a 静态库。有没有办法可以将其转换为 *.so 动态链接库?也许使用 ld?

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

最佳答案

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

gcc -shared -Wl,--whole-archive library.a -o library.so

但是如果你的库不是用 -fpic/-fPIC 编译的,它可能不是,它不会工作(它可能 看起来可以工作,但您无法获得共享库的任何好处)。

关于linux - 将静态库转换为动态链接库的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3919902/

相关文章:

linux - 从日志中检查MAC

linux - 如何在子文件夹中同步文件模式

linux - 在没有 libc 的情况下编译共享对象文件夹

android - 将 JAR 文件包含在 Android 库中是个好主意(与其他库的潜在冲突)?

objective-c - 是否可以在静态库中使用 FlurryAPI?

linux - 获取第一个单词作为 ls -l 的结果

linux - 一个 Linux 工具,它会在我键入时显示错误,Visual Studio 风格

linux - 缺少库启动QT5

c - 尝试使用我自己的静态 C 库进行编译

objective-c - 归档静态库并获取源代码的可能性?