`

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"标志

分享到:
评论

相关推荐

    lua-nginx-module-0.10.13

    《深入理解Lua-Nginx-Module 0.10.13》 Lua-Nginx-Module,简称lua-nginx-module,是Nginx服务器的一个重要扩展模块,它将强大的Lua脚本语言集成到Nginx中,允许用户在Nginx配置文件中直接编写Lua代码,极大地增强...

    EmmyLua-AttachDebugger 可用

    通过这个工具,开发者可以在IDE中设置断点,查看变量值,单步执行,以及调用堆栈信息,从而深入理解代码执行过程。 在实际使用中,你需要先从GitHub上下载EmmyLua-AttachDebugger项目,解压后得到emmylua-...

    lua-devel-5.3.4-12.el8.aarch64

    在这个特定的案例中,我们关注的是 `lua-devel-5.3.4-12.el8.aarch64`,这是一个针对 CentOS 8 操作系统、aarch64(64位 ARM 架构)平台的 Lua 5.3.4 开发版本。 首先,版本号 `5.3.4` 表示这是 Lua 5.3 系列的第四...

    lua-utf8.zip

    Windows版:lua-utf8.dll(若是用在openresty中,openresty版本需使用32位版本,使用64位版本时会报错“lua-utf8.dll 不是有效的 Win32 应用程序”) 将lua-utf8库放在openresty安装目录下,使用时用require引入。

    lua-cjson-2.1.0

    **lua-cjson-2.1.0:Lua与JSON交互的核心工具** `lua-cjson`是Lua编程语言中一个高效且功能丰富的JSON(JavaScript Object Notation)解析和序列化库,版本2.1.0提供了稳定性和性能上的优化。这个库使得在Lua环境中...

    lua-nginx-module-0.10.9rc7

    首先,我们要理解Lua-Nginx-Module的核心价值:它提供了在Nginx内部执行Lua代码的能力,这使得我们可以灵活地进行路由控制、数据处理、错误处理等各种自定义逻辑。通过结合Nginx的高性能反向代理和负载均衡能力,...

    lua-nginx-module-master.zip

    Lua-nginx-module是Nginx服务器的一个扩展模块,它允许我们在Nginx配置文件中直接嵌入 Lua 脚本,极大地增强了Nginx的功能性和灵活性。这个"lua-nginx-module-master.zip"压缩包包含了该模块的源代码,是安装和...

    EmmyLua-AttachDebugger-1.0.0.4.zip

    "EmmyLua-AttachDebugger-1.0.0.4.zip"是这个工具的一个特定版本,版本号为1.0.0.4,意味着它可能包含了该版本的最新更新和修复。 在IntelliJ IDEA中,集成EmmyLua调试器使得程序员能够像调试Java代码一样调试Lua...

    所有版本LUA源码

    lua-5.3.5 lua-5.3.4 lua-5.3.3 lua-5.3.2 lua-5.3.1 lua-5.3.0 lua-5.2.4 lua-5.2.3 lua-5.2.2 lua-5.2.1 lua-5.2.0 lua-5.1.5 lua-5.1.4 lua-5.1.3 lua-5.1.2 lua-5.1.1 lua-5.1 lua-5.0.3 lua-5.0.2 lua-5.0.1 ...

    lua-5.1.5安装包

    这里的"lua-5.1.5安装包"指的是Lua编程语言的5.1.5版本的源代码包。这个版本在2009年发布,是Lua 5.1系列的一个稳定版本。 Lua-5.1.5.tar.gz是一个压缩文件,通常在Linux或Unix-like系统中使用,其扩展名.tar.gz...

    lua-cjson-2.1.0-已编译

    Lua-cjson是一个为Lua语言设计的JSON(JavaScript Object Notation)编码和解码库,它在Lua环境中提供了高效且易用的JSON接口。JSON是一种轻量级的数据交换格式,广泛应用于网络服务之间的数据通信以及存储数据。Lua...

    lua-5.1.4-4.1.el6.x86_64.rpm

    Binary Package lua-devel-5.1.4-4.1.el6.x86_64.rpm Source Package lua-5.1.4-4.1.el6.src.rpm Install HowtoInstall the lua-devel rpm package: ..

    lua-cURL访问http/https

    通过查看GitHub上的项目源码及使用示例(https://github.com/Lua-cURL/Lua-cURLv3),你可以深入了解Lua-cURL的完整功能和具体用法。这里不仅有详细的API文档,还有许多实际的例子,帮助你快速上手并解决实际问题。 ...

    lua-resty-template

    而lua-resty-template和大多数模板引擎是类似的,大体内容有: 模板位置:从哪里查找模板; 变量输出/转义:变量值输出; 代码片段:执行代码片段,完成如if/else、for等复杂逻辑,调用对象函数/方法; 注释:解释...

    lua-devel-5.1.4-4.1.el6.x86_64.rpm

    安装nginx_lua模块时候需要先安装nginx的依赖包,安装命令rpm -ivh lua-devel-5.1.4-4.1.el6.x86_64.rpm

    lua-nginx-module-0.10.20.tar.gz

    《Lua在Nginx中的应用:lua-nginx-module-0.10.20详解》 Lua语言以其轻量级、高效和强大的脚本能力,近年来在Web开发...在深入理解和熟练掌握lua-nginx-module之后,开发者可以构建出更加高效、可扩展的Web服务架构。

    EmmyLua-Unity

    EmmyLua-Unity 是一个专为Unity游戏引擎开发者设计的工具,它是由国内开发者创建的,目的是提升在Unity中编写Lua脚本的效率和便捷性。这个插件主要与IntelliJ IDEA集成,IntelliJ IDEA是一款强大的Java开发集成环境...

    lua-5.3.3.tar.gz安装包

    这里的"lua-5.3.3.tar.gz"是一个源码安装包,意味着你需要通过编译源代码来在你的操作系统上安装Lua 5.3.3版本。 首先,让我们了解一下tar.gz文件。这是一种常见的文件打包格式,由“tar”(归档)和“gzip”(压缩...

    lua-resty-core, 新的基于 lua Nginx 模块的API.zip

    lua-resty-core, 新的基于 lua Nginx 模块的API 电子邮件名称lua-resty-core - 用于ngx_http_lua_module和/或者ngx_stream_lua_module的基于new的Lua table-内容名称状态概要说明描述先决条件API实现了r

    lua-resty-redis-connector-master

    本文将深入探讨lua-resty-redis-connector的使用和功能。 lua-resty-redis-connector是lua-resty库的一个子项目,专门用于在OpenResty环境中实现Lua与Redis的高效通信。这个库允许开发者直接在Lua代码中编写Redis...

Global site tag (gtag.js) - Google Analytics