xcode4.6.2下,编译universal binary(fat binary)

来源:互联网 发布:网站sql注入检测工具 编辑:程序博客网 时间:2024/05/17 06:41

    什么是universal binary? 通俗来讲,就是支持多种架构的binary。附上wikipedia的链接:Universal Binary

    一般编译出来的库,只支持某种架构(譬如xcode对ios device编译的架构一般是armv7),但是ios虚拟机却是i386的架构。所以,不得不每次为虚拟机或实体机编译一次。所以这时候比较好的方案就是使用universal binary(当然,它也比一般binary大)。一般的思路就是先使用xcode(如果你喜欢命令行的话也无可厚非)为虚拟机和实体机各编译一次,然后使用lipo工具create一个合集。即

 lipo -create (虚拟机架构的lib路径) (实体机架构的lib路径)-output(universal binary路径)

你一般可以使用

lipo -info (lib路径)

查看是否是universal binary,或者是其他单一架构的库。

但是仅仅如此,你每次还是要编译两次,然后手动合并。所以,我在stackoverflow上找到了答案:build-fat-static-library-device-simulator-using-xcode-and-sdk-4

对于我们项目来讲,要把编译出来的库放到工程bin目录下,这时候就不能使用系统的设置,而是把库拷贝过去。在脚本中加入cp拷贝过去即可

原创粉丝点击