objective-c – 是否可以编译更新版本的LLVM并将其与Xcode一起使
我有一台旧计算机无法升级到Lion,但我想用它进行编码,同时仍然利用instancetype和Objective-C文字等语法.有没有人试图编译一个较新的Clang和LLVM用于较旧的Xcode并成功?
解决方法
有多种方法可以使用最新的LLVM / Clang版本.
(1)插件,如上述评论中所述,例如: 正如链接博客文章中所指出的,当Xcode使用较旧版本的libclang时,您可能会收到来自Xcode实时语法检查的错误/警告(更多内容见(3)).它可能编译得很好,但编辑源代码不会很有趣. (2)通过CC标志设置编译器.这可能是最简单/最快的解决方案,该设置仅影响一个项目.转到项目的Build Settings,选择“Add Build Setting” – > “添加用户定义的设置”(在Xcode 5中,它隐藏在编辑器菜单中),将其命名为CC并将值设置为您的Clang版本的路径.对我来说工作正常,但与(1)一样,您可能会遇到与实时错误报告冲突的问题,特别是如果您想使用文字等新语法,或者为旧版本无法理解的警告传递标记. (3)替换编译器.确保在更换之前备份所有文件.有两个文件需要替换:Clang二进制文件和libclang.dylib.转到/Applications/Xcode.app/ – >选项 – 点击 – > “显示包装内容” – > /Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr. clang在/ bin中,libclang.dylib在/ lib中. 这两个二进制文件既可以从源代码编译(当然也可以为您提供更新的版本),也可以从最新的Xcode包中复制.我使用自定义版本的libclang遇到了麻烦,但我怀疑问题源于我在那里的修改.如果有疑问,请使用后来的Xcode版本中的libclang. 注意:我修改的libclang二进制文件使用ARC,因此与使用垃圾收集运行的Xcode 4不兼容. Xcode 5本身使用ARC,因此问题已经消失.如果你修改了libclang unmodified,你不应该在Xcode 4或5中遇到这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |