我有不能升级到狮子一台旧电脑,但我想用它来编码,同时还考虑语法的优势,如instancetype
和Objective-C的文字。 有没有人试图编译一个新锵和LLVM与旧的Xcode和成功使用?
Answer 1:
有使用最新的LLVM / Clang的版本不同的方式。
(1) 插件 ,如在上面的注释中描述,例如: http://blog.wadetregaskis.com/tot-clang-llvm-in-xcode/
作为链接的博客文章指出,你可能会得到错误/从Xcode的实时语法警告检查为Xcode中(即在(3)以上)使用libclang的旧版本。 这很可能是编译好的,但编辑源代码将不会是一个很大的乐趣。
(2)设置通过编译器CC
标记 。 这可能是最简单的/最快的解决方案,并设定只影响一个项目。 转到项目的生成设置,选择“添加构建设置” - >“添加用户定义的设置”(在Xcode 5,这是隐藏在编辑器菜单),将其命名为CC
和值设置为您的版本的路径铛。 工作对我很好,但与(1),你可能会得到与现场错误报告的冲突,特别是如果你想使用新的语法,如文字,或通过标志的警告是,旧版本不明白。
(3) 更换编译器。 确保你替换之前备份所有文件。 有两个文件需要被替换:铛二进制文件,libclang.dylib。 转到/Applications/Xcode.app/
- >选项-点击- > “显示包内容” - > /Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr
。 铛是在/bin
,libclang.dylib是在/lib
。
这两个二进制文件既可以从源(这将给你一个更新的版本,当然)或从最新的Xcode包刚才复制编译。 我遇到了麻烦使用libclang的定制版本,但我怀疑从我的修改有问题的起源。 如有疑问,从后来的Xcode版本使用libclang。
注:我修改libclang二进制使用ARC,因此在Xcode 4与垃圾收集运行的不兼容。 Xcode的5本身使用ARC所以这个问题已经消失。 如果你编译libclang修改,您应不越过这个问题在任何的Xcode 4或5来了。