iOS常用静态库操作命令(解决静态库冲突问题)

  • 合并模拟器库文件和真机库文件
    lipo -create -output lib.a lib-armv6.a lib-i386.a

    其中lib.a是合并后的输出文件,lib-armv6.a和lib-i386.a分别对应真机静态库和模拟器静态库文件。

  • 查看静态库中包含哪些架构
    lipo -info lib.a

    该命令可以查看静态库中包含哪些架构,如armv7和i386。

  • 解压出指定架构的静态库
    lipo -extract_family armv7 -output lib-armv7.a lib.a

    以上命令可以从lib.a静态库中解压出armv7架构的静态库lib-armv7.a,可以以同样的方式解压出针对模拟器的架构库文件(如i386)。

  • 将a格式的静态库解压为o文件
    ar -x lib.a

    以上命令可以解压出lib.a中的所有o文件。

  • 将o文件合并为a文件
    libtool -static -o lib.a *.o

    与上一个解压命令相反,这个命令将所有o文件合并为一个a文件,这两个命令常用于多个项目中引用的a库存在冲突时(duplicate symbol)解决冲突的一种方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章