ARC 迁移器在其他目标中返回错误

Posted

技术标签:

【中文标题】ARC 迁移器在其他目标中返回错误【英文标题】:ARC migrator returns error in other target 【发布时间】:2012-12-12 22:46:12 【问题描述】:

我正在尝试将旧项目转换为 ARC。我的项目依赖于 Cocos2D,它是一个第三方非 ARC 库。所有的 Cocos2D 源文件都是独立目标的一部分,并被编译成静态库。

但是,ARC 迁移器在 Cocos2D 源文件中返回 ARC semantic issue 错误,即使它们不是我要转换的主要目标的一部分。

这可能是什么原因?那个源代码应该没关系吧?

【问题讨论】:

见***.com/questions/8532557/does-cocos2d-support-arc 【参考方案1】:

一般来说,最安全的做法是不对不属于您的代码执行 ARC 转换。因此,您可以告诉编译器不要将 ARC 与 Cocos2D 代码一起使用,方法是进入目标设置的“构建阶段”,添加 -fno-objc-arc 标志,如 Transitioning to ARC Release Notes 中所述。您只需展开“Build Phases”的“Compile Sources”部分,双击Cocos2D源文件,然后在弹出框中输入-fno-objc-arc

话虽如此,我很欣赏可能涉及很多 .m 文件。因此,有一些消息来源提出了处理 Cocos2D 和 ARC 的不同方法,例如 Enable ARC in a Cocos2D Project。

【讨论】:

以上是关于ARC 迁移器在其他目标中返回错误的主要内容,如果未能解决你的问题,请参考以下文章

方便的构造函数 ARC 目标 c

发布时迁移到 .NET 6.0 错误:资产文件没有“net5.0”的目标

枚举器在迁移中实例化后修改了集合

10.7 上的 ARC 迁移工具给出错误:删除未使用的“自动释放”消息是不安全的

数据迁移服务 (DMS):出现错误后如何继续(无法执行删除语句)?

迁移到命名标准不佳的 Arc