在 Linux 中将动态库转化为静态库需要使用工具 ar 和 ld。

以下是将 libtest.so 转化为 libtest.a 的示例:

  1. 首先使用 nm 工具查看 libtest.so 的符号表,确保需要的符号都在其中:
nm -D libtest.so
  1. 使用 ar 工具将 libtest.so 转化为 libtest.a:
ar -x libtest.so
  1. 查看生成的 .o 文件列表:
ls *.o
  1. 使用 ld 工具将 .o 文件链接成静态库 libtest.a:
ld -r -o libtest.a *.o
  1. 最后使用 nm 工具查看 libtest.a 的符号表,确保需要的符号都在其中:
nm libtest.a

原文地址: https://www.cveoy.top/t/topic/cqaF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录