最近在做一个网络收音机的项目,试着编译网上开源的wunder radio,但总是不成功,因为这个开源代码足够复杂。从开始的一大堆编译错误,到最后的二十个链接错误,定位为随源码提供的libCommon库的问题,实在令人费解。后来从网上找到了这篇链接,http://superqichi.com/build-wunder-radio-19-with-ios-sdk-42,作者在sdk 4.2下面成功的编译并且提供了他本人编译成功的例子。可是该例子下载以后在本机依旧无法成功通过链接。后面浏览这篇文章后面的评论,有人提到这个libCommon是在armv6下编译的,而我本来的开发环境是xcode4.2+sdk5.0,其默认的体系架构是armv7,问题就出在这里,修改后顺利通过编译,wunder radio确实还蛮强大的。
下面详细介绍本来的设置步骤。
开发环境:xcode4.2+sdk 5.0
1.将项目wunder radio,ffmpeg,mms,libavcodec和libavformat的progect和target里面的build setting下面的架构更改为armv6,x base sdk 更改为本机最新的sdk即可。这里注意的是,ffmpeg项目里边只用更改ffmpeglib的架构和基本sdk即可,其他的target不用管。
2.重新添加libCommon 和 messageUI.framework,因为这两个库显示红色,说明xcode未找到这两个库的物理文件,可能是路径不正确。因此,这里我们需要将红色显示的两个库删除,然后在target的build phase中重新添加这两个库。注意这里更改的是wunder radio 工程。
3.移除Common目录下的build里边的libCommon模拟器版本所在的文件夹。
另外需要说明的是,这里为真机环境。
最后附上本项目的下载网址http://www.wunderradio.com/code.html,根据以上步骤修改即可。也可以从http://superqichi.com/build-wunder-radio-19-with-ios-sdk-42下载作者修改过的,只需修改所有工程的体系结构即可。