如何设置Xcode以使用llvm.org分发的clang而不是Apple提供的clang?
如果我下载clang binaries并安装到/usr/local
,然后将我的编译器设置为其他... - >在Xcode中/usr/local/bin/clang
,然后我收到表单错误:
为架构'x86_64'选择了不支持的编译器'/ usr / local / bin / clang'
无法为sourcecode.c.c类型的文件...确定具体的GCC编译器。
更新:我找到了一种方法,可以通过将/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr
符号链接到clang+llvm-3.4-x86_64-apple-darwin10.9
根目录来完成这项工作,但有一种方法会好得多在不修改Xcode目录树的情况下为Xcode设置替代编译器。
答案 0 :(得分:12)
最简单的选项(也是最容易撤消的选项)是添加 CC
构建标记。转到您的项目或目标的构建设置,然后选择编辑 - > 添加构建设置 - >从菜单中添加用户定义的设置。
将标志命名为CC
,并将值设置为Clang二进制文件的路径。
您可以选择是否要将此编译器用于所有构建,或者仅调试构建(例如,当您使用Clang的实验和/或自修改版本时这是有意义的。)
请注意,对于自动完成,符号搜索等功能,Xcode不使用Clang二进制文件,而是使用Xcode分发的其他LLVM库。我已经描述了如何替换another post中的那些(这或多或少与你采用的方法相同)。通过仅更改Clang版本,编译后可能会在输入时获得与编辑器中显示的警告不同的警告。
答案 1 :(得分:7)
这是一个老问题,但由于我想安装更新的clang / libc ++以与Xcode 9+一起使用,这是我的解决方案,希望它对某人有用。
-DLLVM_CREATE_XCODE_TOOLCHAIN=ON
传递给cmake,然后运行make install-xcode-toolchain。如果使用自制软件安装,请使用brew install --with-toolchain llvm
我遇到的一个特殊问题是clang抱怨“不能对多个输出文件使用-o选项”。这是因为在撰写本文时,Apple的clang有一个新的选项,在主干中缺失。要解决此问题,请在项目设置中禁用Index-While-Building
功能。