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


6

如何设置Xcode使用llvm.org分发的clang而不是Apple发布的那个?

如果我下载clang binaries并安装到/usr/local,然后我的编译器设置为其他... - >/usr/local/bin/clang在Xcode,然后我得到出错的形式:

不支持的编译器的/ usr/local/bin/clang'选择用于体系结构'x86_64'

无法确定具体的GCC编译器,用于类型为sourcecode.cc的文件...

更新:我已经找到一种方法通过符号链接/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usrclang+llvm-3.4-x86_64-apple-darwin10.9根目录下,使这项工作,但它会好得多它有设置为Xcode的替代编译器的方式,而无需修改Xcode目录树。

10

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

Adding custom build flags

名称标志CC,和值的路径设置为您锵二进制文件。

Setting the <code>CC</code> flag

您可以选择是否要使用该编译器的所有版本,或只调试版本(这是有道理的,当您使用锵的实验和/或自我修改的版本,例如)。

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

  0

完美的答案,谢谢! 15 4月. 142014-04-15 09:49:24


2

它的一个老问题,但由于我想安装更新的clang/libC++与Xcode 9+一起使用,这里是我的解决方案,希望对某人有用。

  1. 如果你是从源代码构建,确保传递-DLLVM_CREATE_XCODE_TOOLCHAIN=ON向CMake,事后执行make install-的Xcode工具链。如果用自制的安装,使用brew install --with-toolchain llvm
  2. 复制从wherewher其安装目录(/ usr /本地/工具链大概)/资源库/开发/工具链
  3. 重新启动Xcode中,你会看到一个工具链中选择工具链文件夹Xcode菜单。

我碰到的一个特殊问题是,叮当抱怨“不能使用-o选项与多个输出文件”。这是因为在写这篇文章的时候,苹果的叮当声中有一个新的选项,在主干中丢失了。要解决此问题,请在项目设置中禁用Index-While-Building函数。

  0

你从哪里找到“建立索引时”文件/项目设置“? 09 3月. 182018-03-09 17:32:22

  0

它的所有其他构建选项都在哪里。点击项目树中的顶级项目。 10 3月. 182018-03-10 05:49:47