解决 XCode 4.5, iOS 6 下 linking error

自从升级到 XCode + iOS 6的环境后, 项目编译满屏飘红(Error),  与ffmpeg相关的静态链接库全部报错误:

 

xcode 写道
File was built for archive which is not the architecture being linked (arm7s)

 

之后在 stackoverflow 上找到了解决方法:

 

http://stackoverflow.com/questions/5303933/xcode4-linking-problem-file-was-built-for-archive-which-is-not-the-architecture

 

XCode -> Project Setting -> BuildSettings -> Build Active Architechure Only 从No改成Yes .

 

 

 

到这里, 问题算是解决了, 但是为什么会产生这个错误, 是需要思考的问题.

 

"armv7s" 好像是个新架构, iphone 5 用的是 A6 处理器 + iOS 6 系统.  从这点出发, 经过google之后, 明确 armv7s 指iphone5 中用的A6处理器的架构.  

 

之前编译 ffmpeg 的时候, iphone5 还没出,  采用的环境配置是: armv6, armv7. 所以在新的Standard(armv7, armv7s) 模式下编译不通过.

 

 

Build Active Architechure Only 改成 YES, 只编译当前可用的版本(我查的是ipad2 - armv7), 这样能够暂时解决这个问题.

 

如果要彻底解决, 还是要重新编译 ffmpeg.

 

 

 

 

 

 

 

 

猜你喜欢

转载自witcheryne.iteye.com/blog/1687435