Undefined symbols for architecture i386与第三方编译的静态库有关

本文介绍了解决Xcode编译运行程序时出现的Undefined symbols for architecture i386问题的方法,包括如何生成支持不同架构(如i386、armv6、armv7)的静态库,以及如何创建通用库。

好多时候Xcode编译运行程序到模拟器的时候会遇到Undefined symbols for architecture i386的问题,这个问题是由于该项目中存在不支持i386架构的第三方静态库,如果把该静态库重新生成一个通用库(可在i386和armv6、armv7中使用),则该问题可以迎刃而解。


如何生成支持i386架构的静态库?

在静态库项目中,将项目build到iPhone 4.3 Simulator 


如何生成支持armv6、armv7架构的静态库?

在静态库项目中,将项目build到IOS Device


如何查看静态库支持哪个架构?

用Terminal输入命令:lipo -info  xxx.a   (需要cd到该.a文件的目录下)


如何找到.a文件保存路径?

在Xcode中,编译运行后,在product中会有.a文件生成,选中该文件点击鼠标右键“show in Finder”


如何生成通用库?

将生成的两个静态库放到同一目录下,使用命令:lipo -create  A.a  B.a  C.a

C.a为生成的通用库。

那两个静态库也可以不放在同一目录下,在使用命令时要将那两个静态库的存储路径也加上去



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值