当我创建项目的Library / Framework并在Different Compiler上运行时,我是否应该关心Compiler?

时间:2013-05-13 16:33:45

标签: ios objective-c llvm libraries llvm-gcc

我使用带有NON-ARC构建的 LLVM GCC编译器创建了我的项目的iOS库/框架(静态)。现在,我想在我的新项目中使用此库,使用Apple LLVM编译器,符合ARC

我是否应该担心将Apple LLVM编译器中的库项目转换为ARC?我应关注的影响领域是什么/哪里?

我的主要分析说我可以在Apple LLVM编译器中使用我的LLVM GCC库。但对结果不满意。

请建议您的分析和结论。感谢

修改

请注意,使用Apple LLVM编译器更改了class_copyPropertyList方法的行为。在LLVM GCC Compiler中,此方法返回接口中声明的反向顺序中的所有变量列表。但是,从Apple LLVM Compiler中,此方法返回中声明的相同的序列

重要信息:虽然 Apple LLVM编译器更改了此行为,但此行为不受库影响。但是当我用来运行包含Library项目的示例项目(Not library但是它的项目)时,这个方法给了我 WRONG 结果。

1 个答案:

答案 0 :(得分:0)

要回答您的问题,您无需升级......如果您有时间我会继续使您的图书馆符合ARC标准。

以下是可能发生的事情 :您的代码无法编译,或者您的代码可能会收到大量警告。您可以在构建设置中添加例外,以将库标记为非ARC兼容。哪个应该导致任何构建/运行时问题消失。