xcode - 如何让 Xcode 使用 clang 的替代版本?

标签 xcode macos compiler-construction clang

如何设置 Xcode 以使用 llvm.org 分发的 clang而不是苹果发货的那个?
如果我下载 clang binaries并安装到 /usr/local然后将我的编译器设置为 其他... -> /usr/local/bin/clang在 Xcode 中,我得到以下形式的错误:

Unsupported compiler '/usr/local/bin/clang' selected for architecture 'x86_64'

Unable to determine concrete GCC compiler for file ...of type sourcecode.c.c.


更新:我找到了一种通过符号链接(symbolic link)来完成这项工作的方法 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usrclang+llvm-3.4-x86_64-apple-darwin10.9根目录,但如果有一种方法可以在不修改 Xcode 目录树的情况下为 Xcode 设置替代编译器,那就更好了。

最佳答案

最简单的选项(也是最容易反转的)是添加 CC 建立标志。转到您的项目或目标的build设置,然后从菜单中选择编辑器 --> 添加build设置 --> 添加用户定义的设置。

Adding custom build flags

为旗帜命名 CC ,并将值设置为 Clang 二进制文件的路径。

Setting the <code>CC</code> flag

您可以选择是要将此编译器用于所有构建,还是仅调试构建(例如,当您使用 Clang 的实验和/或自我修改版本时,这是有意义的)。

请注意,对于自动完成、符号搜索等功能,Xcode 不使用 Clang 二进制文件,而是使用与 Xcode 一起分发的其他 LLVM 库。我已经描述了如何替换 another post 中的那些。 (这或多或少与您采用的方法相同)。通过仅更改 Clang 版本,您可能会在编译后收到与键入时在编辑器中显示的不同的警告。

关于xcode - 如何让 Xcode 使用 clang 的替代版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23071024/

相关文章:

C# 属性访问优化

objective-c - 将 pdf 页面保存在多页数组中

ios - 统一 3d |后处理构建 |在为 iOS 构建创建 xcode 项目时,如何从 unity 脚本将新的运行脚本添加到 PBXProject?

linux - 使用 imagemagick 将剪切/裁剪标记添加到 pdf

c++ - 在符号表中记录所有权

c++ - 这在内部是如何工作的 int const iVal = 5; (int&)iVal = 10;

c++ - fatal error : string. h:没有那个文件或目录

iphone - iTunesConnect 崩溃日志已部分符号化;不显示行号

Java 1.8.0_251,OSX Catalina,屏幕外窗口的字体渲染损坏

objective-c - 渲染/快照 SpriteKit 场景到 NSImage