项目中需要用到二维码扫描功能,使用了ZXing开源库实现二维码扫描。在Xcode4.6后来升级的xcode5.0都可以编译成功。前几天OS X升级,也顺便升到了Xcode5.1。这下悲剧了。原本好好的工程编译不通过了。出现如下错误:
Unused Entity Issue: Unused Variable
和
Lipo Error!! can't open input file
如下图所示:
郁闷了好几天,尝试独立生成静态库再手动添加,但需要包含的头文件太多,太乱,最终没搞下去。
丢弃几天后,一天早上心血来潮,捣弄一番,居然还编译成功了。
Thank goodness!
具体解决方案如下:
第一个错误,可以通过关闭CLang的警告来解决,加入如下代码:
#pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-variable" // Insert code here #pragma clang diagnostic pop
第二个错误,将Project target-> Build setting-> Build Active Architecture only 设置为YES。如下图
还有一个要修改的是,将Build Settings的Architectures修改为arm7 armv7s.Xcode5.1默认是加上arm64的,但有些库不支持arm64,所以需要将它去掉。
Clean and Build.All is Ok.What a beautiful day!
至于为什么会在Xcode5.0以下不错误,在5.1就出错了,估计是5.1将一些编译参数的安全等级提高了,所以导致这个错误。纯粹猜测而已,暂时没空查证,希望高手指正。
================================
经网友 @ linglong117 指点(在此先谢过),可以通过添加编译参数解决该问题,解决办法如下:
1、Select ZXingWidget framework.
2、Select ZXingWidget target in ZXingWidget framework.
3、Press Build setting tab and type "other wa" in search.
4、Add -w parameter flag to Other Warning Flags.
如下图所示: