关于xcode:如何在Mac OSX上更新LLVM和Clang?

How to update LLVM & Clang on Mac OSX?

在我的Mac OSX版本(Lion 10.7.1,XCode 4.1)上,有LLVM 3.0svn和Clang 2.1。
当前版本是LLVM 3.0和Clang 3.0。

在XCode网站上,似乎最新版本(4.2.1)仍使用LLVM 2.0,这似乎是一个错误。

您是否知道是否安装最新的XCode,我会得到LLVM / Clang的最新版本?

您是否知道手动安装Clang可能存在的问题?

安装后,新的Clang是否会被我拥有的所有IDE(例如NetBeans)自动使用?


该网站不正确。 Xcode 4.2.1和4.2包括LLVM 3.0和clang 3.0:

clang --version
Apple clang version 3.0 (tags/Apple/clang-211.12) (based on LLVM 3.0svn)

clang++ --version
Apple clang version 3.0 (tags/Apple/clang-211.12) (based on LLVM 3.0svn)

llvm-g++ --version
i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)

llvm-gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)


传统上,软件供应商对更新构建工具持保守态度,这是有充分理由的。如果要使用Apple提供和修改的最新公共支持版本的构建工具,则应针对正在运行的OS X发行版坚持使用最新版本的Xcode。通常,有充分的理由说明Apple尚未更新到开源组件的最新尖端版本,例如严重的bug。如果您不需要Apple提供的修改并且不介意生活在边缘(例如,Apple不提供支持,并且可能(重新)发现已知问题),并且不打算将编译的文件运送到其他人的系统,可以在/usr/local/bin中安装自己的版本,也可以使用第三方软件包管理器(例如MacPorts http://www.macports.org/ports.php?by=name&substr=clang)安装自己的版本。您绝对不应尝试替换Xcode安装路径下的文件。这值得么?只有您可以决定。


您可以使用自制软件轻松构建自己的LLVM:

1
brew install llvm

如果您需要特定的版本,也有版本化的软件包:


OS X更新版本10.9.2将XCode引入版本5.1(5B130a),并将clang引入了最新的稳定版(对于OS X):

1
2
3
4
$ clang --version
Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix

在我的Mac上,llvm-gcc和llvm-g ++是指向此clang的符号链接:

1
2
lrwxr-xr-x  1 root  wheel     5B 25 Oct 16:48 /usr/bin/llvm-gcc -> clang
lrwxr-xr-x  1 root  wheel     7B 25 Oct 16:48 /usr/bin/llvm-g++ -> clang++

我最新的R安装配置为使用llvm-gcc-4.2,这在构建SHLIB时会导致错误。用相同的方式为llvm-gcc-4.2和llvm-g ++-4.2创建符号链接,而不是替换LLVM或CLANG,足以解决错误。


在带有XCode 4.6的Mountain Lion 10.8.2上,版本为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ clang --version
Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

$ clang++ --version
Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

$ llvm-g++ --version
i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ llvm-gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

您也可以从App Store或Apple开发者帐户直接下载来更新Lion的XCode,并安装命令行工具,这会将clang&llvm更新到上述版本。