美文网首页
多个静态库封装成一个库文件的三种方法

多个静态库封装成一个库文件的三种方法

作者: 车到山前必有路2021 | 来源:发表于2020-06-10 12:43 被阅读0次

第一种也是最可移植的方法是使用libtools

在使用libTool构建了其他库之后,只需将.la库添加到Automake libaz_la_LIBADD变量中,或者直接从Makefile中添加以下内容,就可以将它们组合起来:

libtool --mode=link cc -static -o libnew.la libabc.la libxyz.la

第二种为MRI脚本(例如名为libnew.mri),例如:

create libnew.a

addlib libabc.a

addlib libxyz.a

save

end

然后以下列方式执行ar:

ar -M <libnew.mri

第三种可以使用存档(选项)-T),这将允许添加其他档案,而不必将它们嵌套在内部,但缺点是,如果您想分发静态库,则分离的对象将丢失:

ar -rcT libnew.a libabc.a libxyz.a

以上所有方法都优雅地处理了原始档案中重叠的成员名称。

否则,您必须将其解压缩到不同的目录中,然后再进行重新打包,以避免替换重叠的成员名称:

mkdir abc; cd abc; ar -x ../libabc.a

mkdir xyz; cd xyz; ar -x ../libxyz.a

ar -qc libnew.a abc xyz

相关文章

  • C++:静态库、动态库、头文件

    C++中提供某个库,往往有三种方法: 头文件(.h)+静态库(.a) 头文件(.h)+动态库(.so) 头文件(....

  • 多个静态库封装成一个库文件的三种方法

    第一种也是最可移植的方法是使用libtools。 在使用libTool构建了其他库之后,只需将.la库添加到Aut...

  • 9、iOS强化 --- 静态库

    什么是静态库?静态库也叫做静态链接库,可以简单的看做一组目标文件的集合。即多个目标文件经过压缩打包后形成的文件。在...

  • 如何制作静、动态库

    一、静态库的制作 1、基本概念 静态库又称为文档文件(ArchiveFile)。它是多个.o文件的集合。Linux...

  • iOS开发-你不了解的库(一)

    本文涉及的知识点:动态库&静态库的基本概念动态库&静态库的区别&加载方式 库 库是程序代码的集合,将多个文件组织起...

  • iOS - 静态库与动态库的制作

    静态库与动态库的区别: 静态库在编译阶段成为 App 可执行文件的一部分,如果多个 App 都会用到就会有多个拷贝...

  • 静态库

    静态库 静态库动态库简介 .a 静态库:被编译好的二进制文件 静态库:.a, .framework 动态库: .d...

  • iOS如何生成.a文件

    首先来谈谈为何要使用.a文件 Objective-c语言有.h .m 文件组成。静态库可以将 .m文件封装成一个....

  • iOS如何生成.a文件静态库

    首先来谈谈为何要使用.a文件 Objective-c语言有.h .m 文件组成。静态库可以将 .m文件封装成一个....

  • 如何创建静态文件.a文件支持bitcode

    首先来谈谈为何要使用.a文件 Objective-c语言有.h .m 文件组成。静态库可以将 .m文件封装成一个....

网友评论

      本文标题:多个静态库封装成一个库文件的三种方法

      本文链接:https://www.haomeiwen.com/subject/mogutktx.html