`
mrjeye
  • 浏览: 176611 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

静态库类重复

 
阅读更多

如果两个静态库冲突的结构是相同的,可以考虑将两个静态库拆分出来进行合并。
查看文件的架构有哪些

$ lipo -info libzbar.a

Architectures in the fat file: libzbar.a are: armv7 (cputype (12) cpusubtype (11)) i386

将armv7解压出来
lipo libzbar.a -thin armv7 -output libzbar-armv7.a

新建立一个文件夹出来存放解压的(.o)文件

$ mkdir armv7

$ cd armv7

将静态库中的文件解压
$ ar -x ../libzbar-armv7.a

然后将另一个静态库根据以上的步骤做一遍,然后观察连个解压的静态库中,有那些是一样的就合并在一起,不过注意的是两个静态库冲突的(.o)文件必须一致,否则也会出现错误。

合并完后进行打包了

$ libtool -static -o ../libnew-armv7.a *.o

如果像在虚拟机也使用,进行相同的步骤后,将i386的架构合并再一起就可以了。

合并静态库
$ lipo -create lib.a lib.b -output new.a

2. 报错显示XXXX.o文件,在Build Phrase里面搜索这个类名,把显示出来的那几个 .m文件给remove掉

 

 

也可以不用合并,把重复的文件从第一个解压出来的*.o删除直接重新打包

$ libtool -static -o ../libnew-armv7.a *.o

 
分享到:
评论

相关推荐

    xcode 制作静态库

    静态库允许开发者将常用功能或代码片段封装起来,便于在多个项目中重复利用,同时也有助于保护源代码不被他人轻易访问。本文将基于给定文件中的描述,深入探讨如何在Xcode中创建静态库,并演示一个简单的示例。 ###...

    简单的静态库调用实例

    总结来说,静态库提供了一种代码重用的方式,可以帮助开发者提高效率,减少重复工作。通过理解静态库的工作原理,我们可以更好地管理和使用它们,从而在项目开发中实现更高效、更稳定的结果。在实际应用中,根据项目...

    Qt静态库与动态库创建与演示

    本教程将深入探讨如何在Windows XP环境下,利用Qt 4和MinGW编译器创建和使用静态库与动态库。 首先,让我们理解静态库和动态库的基本概念。静态库(.lib文件)是将库函数编译到目标代码中,形成一个完整的可执行...

    iOS静态库制作实例

    在iOS开发中,静态库(Static Library)是一种常见的代码复用方式,它可以将多个源文件编译链接成一个单独的库文件,应用在项目中时,会与目标应用一起被编译并打包到最终的可执行文件中。本实例主要探讨如何制作...

    Linux静态库和动态库

    **Linux库的分类**:Linux下的库主要分为两大类——静态库与动态库,它们的核心区别在于代码的加载时机。静态库在编译阶段即与目标程序结合,而动态库则是在程序运行时动态加载。 #### 静态库与动态库的生成与使用 ...

    jsoncpp静态库文件

    此外,如果多个项目使用相同的静态库,可能会导致重复的代码(代码膨胀)。 总之,这个资源包为C++开发者提供了一种方便的方式来使用JSONcpp,无论是解析JSON输入还是生成JSON输出,都可以借助JSONcpp实现高效且...

    在动态库(dynamic libraries)和静态库(static libraries)使用模板(template)

    在C++编程中,动态库(Dynamic Libraries)和静态库(Static Libraries)是两种常见的代码复用方式。模板(Templates)则是一种强大的泛型编程工具,允许我们在编译时创建类型安全的通用代码。理解如何在动态库和...

    静态库程序(vc++)

    在编程领域,特别是使用...通过创建和使用静态库,开发者可以提高工作效率,减少代码重复,并确保代码的稳定性和兼容性。在vc++环境中,理解和掌握静态库的创建和使用对于任何C++开发者来说都是至关重要的技能。

    linux的下的动态库静态库

    库可以分为两种主要类型:静态库和动态库。 1. **库是什么?** 库是预编译的目标代码集合,它们以特定格式打包,供其他程序在编译或运行时调用。库包含头文件(定义函数和数据类型的接口)和库文件(实际的函数...

    Linux静态库和动态库学习总结

    这些库文件可以分为两大类:静态库(static libraries)和动态库(dynamic libraries)。本文将详细介绍这两种库的区别、它们各自的优缺点以及如何在实际开发中使用它们。 #### 二、库的基本概念 ##### 2.1 库的原则 ...

    Xcode制作包含xib等资源的静态库

    在iOS开发中,静态库(Static Library)是一种方便开发者封装常用功能或组件的方式,它可以减少重复编码,提高代码复用性。Xcode制作包含xib等资源的静态库的流程如下: 1. 创建静态库工程: 在Xcode中新建一个...

    linux静态库及动态库创建及使用

    ### Linux静态库及动态库创建及使用 #### 一、基本概念 ##### 1.1 什么是库 在计算机编程领域,**库**(Library)是一系列预编译的代码集合,这些代码通常实现了某些功能或服务,可供其他程序在运行时调用。库可以...

    Qt将代码如何生成静态链接库

    5. **编译生成静态库**:运行`make`命令,它将编译源代码并生成静态库文件,如`libmywindow.a`。 ### 使用静态链接库 1. **创建测试目录**:为使用静态库创建另一个目录,如`test`。 2. **拷贝库文件**:将`...

    静态链接库与动态链接库的区别

    当一个程序链接静态库时,实际就是将静态库中的目标文件链接到程序中,使得最终的可执行文件包含了静态库中的所有必要代码。 **特点:** - **文件大小:**使用静态库编译的文件通常较大,因为整个静态库会被完整地...

    C++ 水波效果静态库

    C++作为一门强大的编程语言,广泛应用于游戏开发、3D建模等场景,因此,将水波效果实现为静态库是很有价值的。本项目名为"C++ 水波效果静态库",其目标是将罗云斌书中的汇编实现转化为C++代码,方便开发者直接调用,...

    IOS 静态库和Framework区别

    1. 代码复用:静态库可以方便地共享代码,减少重复编写。 2. 模块化开发:通过将固定业务模块封装成静态库,可以实现iOS程序的模块化设计。 3. 保护源码:提供静态库给他人使用时,可以隐藏具体实现,只暴露接口。 4...

    Linux静态and动态链接库 创建和使用

    库文件分为静态库和动态库两大类。静态库在编译阶段被链接进最终的可执行文件中,因此静态库的代码会成为可执行文件的一部分;而动态库则是在程序运行时才被加载和链接的,不会成为最终可执行文件的一部分,这使得...

    大漠插件重新封装为DLL库

    6. **性能影响**:虽然静态库可以避免运行时的动态加载问题,但因为代码被重复包含,可能导致最终可执行文件的大小增加,可能对程序的启动速度和内存占用有一定影响。 7. **调试与更新**:使用静态库后,调试和更新...

    iphone-static-library-project工具类源码_ios源码

    - 代码复用:静态库可以被多个应用共享,减少了重复编码的工作量。 - 便于分发:不需要额外的动态链接器支持,只需提供单一的可执行文件即可运行。 - 安全性:静态库中的代码不易被逆向工程,保护了知识产权。 ...

Global site tag (gtag.js) - Google Analytics