在XCode4.2中默认只有armv7,但是iPhone 3G或者iTouch 1/2都只支持armv6。为了支持最多的设备,最近的项目中决定将引入的静态库的armv7与amrv6版通过lipo创建一个universal版的库,然后再引入工程。很自然,修改Build Settings里的Architectures为armv6、armv7。结果连接出错。

老是说找不到armv6的静态库,但是提示的错误却总是指向armv7的静态库。(之前我们用的是armv7,但是改为universal时是直接从工程里将armv7对应的lib删除,然后添加universal)。百思不得其解,最后想,编译这些命令肯定是放工程文件里的。于是用vim打开工程文件,结果发现里面的library search path里有所有添加过的armv7和armv6以及universal的路径,虽然armv7和armv6已经从工程里移除,但是xcode并没有更新search path导致连接是出错。

手动删除无效路径,再次编译链接。OK!

  

posted on 2012-02-09 00:05  排云鹤  阅读(432)  评论(0编辑  收藏  举报