zoukankan      html  css  js  c++  java
  • 利用lipo编译合并iPhone模拟器和真机通用的静态类

    利用lipo编译合并iPhone模拟器和真机通用的静态类

    如何编译静态类库,而且现在网上也有很多的教程,现在问题时我们编译好了的静态类库会时两个版本的.a文件,分别用于模拟器和iPhone真迹,因此Mac和iPhone的CPU不同,才造成了现在这样的情况,有点像PowerMac和 InterMac。

    屏幕快照 2010-01-01 下午09.34.54.png

    在使用静态类库时,我们如果想在模拟器调试,就必须把用于模拟器版本的lib加到项目中,同理如果要想运行在iPhone上,我们又必须把真机lib也加到项目中,这样确保两个平台都能运行,但问题是我们总又一个类库是不需要了的,,在SnowLeopard的Xcode3.2中编译的时候会出现一个警告:没必要加上~~~.a。Xcode3.1也偶尔会出现。
    OK,我们来解决这个问题!
    假设两个版本的lib分别是libIMUI.s.a,libIMUI.d.a我们的目标是把他们合并成通用版本的libIMUI.a。
    打开命令行 Teminal.app 输入:
    lipo -create
    然后一次把两个.a文件拖到终端窗口,命令行会变成这样:
    lipo -create/Users/Travis/Desktop/libIMUI.d.a/Users/Travis/Desktop/libIMUI.s.a
    然后接着输入 -output目标文件路径,如:
    -output/Users/Travis/Desktop/libIMUI.a
    最后现在是这样一条命令:
    lipo -create /Users/Travis/Desktop/libIMUI.d.a/Users/Travis/Desktop/libIMUI.s.a -output/Users/Travis/Desktop/libIMUI.a

    回车!好了,这样就会生成一个我们需要的通用类库libIMUI.a。   

  • 相关阅读:
    日期计算
    普通二叉树转换成搜索二叉树
    每周行情
    virtualbox安装增强功能时【未能加载虚拟光盘】
    linux实用命令之如何移动文件夹及文件下所有文件
    Linux文件夹文件创建、删除
    php 克隆 clone
    function_exists (),method_exists()与is_callable()的区别
    webgrind安装使用详细说明
    windows下redis的安装配置和php扩展使用phpredis
  • 原文地址:https://www.cnblogs.com/moonvan/p/3244947.html
Copyright © 2011-2022 走看看