Lua-wax-ARC深入理解
越来越多的人在项目中用ARC,但是免不了会调用非ARC的库或者工程,简单的解决方案就是增加标记(-fno-objc-arc)。在对应target的Build Phases的Compile Source中找到相应的文件。
最近在使用wax,遇到一个问题,什么也不做修改的情况下,第一个错误就是"ARC forbids Objective-c objects in struct",意思很明显“在struct中禁用objc对象”。想到的第一步就是在target中加入wax_instance.h并且加入“-fno-objc-arc”标记。
结果不理想,任然无法编译成功。
原因如下:
这个报错出现在wax_instance.h中,而其他的文件.h/.m中又import了这个wax_instance.h,所以要在所有import了wax_instance.h的文件中加入“-fno-objc-arc”的标识。
在进一步说,不过中间过度了多少层.h,只要树状的结构中,有这个wax_instance.h涉及到的地方,都要加入“-fno-objc-arc”标记。
解释:
既然是import(解释为引入),那么编译过程中,会将import进来的内容进行编译,自然就会出现连锁式的错误。
好了,暂时写这些。
附:
wax做的一些变化
所有wax_xxx.m增加“-fno-objc-arc”标志
增加wax_helpers.h、wax_instance.h,并加入"-fno-objc-arc"标志