美文网首页程序员
普通静态库生成步骤(一):

普通静态库生成步骤(一):

作者: js_huh | 来源:发表于2016-07-13 17:40 被阅读156次

1,制作.a文件的静态库(没有图片资源)

创建.a文件的静态库项目
实现自己需要封装的方法
生成已经编译好的.a静态库(注意,项目名最好用英文,上面是为了方便识别,才使用中文,)

查询.a静态文件的位置

2,使用.a静态库

3, 出错: 调试!

错误:Undefined symbols for architecture i386:(x86_64 / i386 /arm64 / armv7s / armv7 )

原因:静态库的架构不对!

生成.a静态库时,是在iPone6的模拟器 而在项目中,是在iPone5的模拟器中运行!

iPone一共有5种架构:

模拟器架构(2种):
i386:     4S /5         (32位)
x86_64:5S --->6S (64位)

真机架构(3种):
armv7:4/4S
armv7s:5/5C最特殊的一代默认已经不支持输出
arm64:5S -->6S

怎么查看架构?
在终端输入命令:lipo -info 静态库路径

怎么合成5种架构?
1) 使用合成命令合成! 语法:
    合成命令:lipo -create静态库1.a静态库2.a -output新静态库.a
    1,将已经在模拟器iPone 6下,编译好的静态库,剪切存放在新的文件夹里面
    2,在iPone 5的模拟器下,直接运行!(.a的静态库文件,会由红色变为黑色)
    3,在终端,输入命令 lipo -create静态库1.a静态库2.a -output新静态库.a,(合成了新的静态库)

创建在iPone 5模拟器下的.a静态文件 通过命令,将适用于iPone5 和适用于iPone 6的静态库,合成成一个新的静态库

2) 一次性编译适用,真机或者模拟器的所有版本!(注意需要编译两个版本(真机+模拟器))

如要适用,所有真机+模拟器的所有版本,则需要分别编译,然后再用命令合成新的.a静态库

3)对于iPone 5 和 iPone5C 的真机架构(armv7s),该如何适用 ?

2014年10月后,iPone就不在支持armv7s的架构,那么真机该如何,该如何适用所有版本的架构呢?
Build Active Architecture Only -->No
选中静态库->选中TARGETS -> Build Settings -> Architectures ->添加arm64 armv7 armv7s ->选中真机运行


相关文章

  • 普通静态库生成步骤(一):

    1,制作.a文件的静态库(没有图片资源) 2,使用.a静态库 3, 出错: 调试! 错误:Undefined sy...

  • 组件22-二进制:静态库(.a)的生成和测试

    一、生成静态库的大步骤: 创建项目选择静态库(.a)Snip20170713_7.png 设置需要暴漏的头文件:T...

  • 静态库的制作(.a)

    1.生成静态库大步骤 创建项目时,直接选择静态库(.a)QQ20161122-0@2x.pngB8DA65CB-7...

  • iOS 打包静态库

    步骤一 首先新建一个静态库的工程 步骤二 在生成的文件夹内新建类 步骤三 添加New Headers Phase ...

  • Linux链接库

    动态链接库(共享链接库) 杂项 生成.o文件 生成.so 使用动态库 静态链接库 杂项 生成.a 查看.a 使用静态库

  • 静态库的用法.a和frameWork

    静态库的生成,我将分为两种来讲,.a静态库和.frameWork静态库。 一、如何生成.a文件 1>. 模拟器4s...

  • lib 与 dll 的区别

    静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态库,其特点是可执行文...

  • c语言第四讲 动态库、静态库

    静态库和动态库的生成 静态库 静态库就是一些目标文件的集合,一般以.a结尾,使用于生成可执行文件阶段。链接器将库文...

  • 静态库与动态库注入

    静态库 注入步骤 动态库注入:

  • 如何生成以及链接静态库

    这篇文章讲解了如何生成静态库,以及如何与静态库链接。 了解如何生成以及链接静态库,需要对gcc/g++有所了解,这...

网友评论

    本文标题:普通静态库生成步骤(一):

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