xcode 如何在Mac OS X上更新LLVM和Clang

hujrc8aj  于 2022-11-17  发布在  Mac
关注(0)|答案(6)|浏览(301)

在我的MacOSX版本(10.7.1(狮子)和Xcode 4.1)上,有LLVM 3.0svn和Clang 2.1。current versions是LLVM 3.0和Clang 3.0。
从Xcode网站上看,似乎最新版本(4. 2. 1)仍然使用LLVM 2. 0,这似乎是一个错误。
如果安装最新的Xcode,我会得到更新版本的LLVM/Clang吗?
installing Clang manually是否存在任何可能的问题?
安装后,我拥有的所有IDE(例如NetBeans)都会自动使用新的Clang吗?

5ktev3wc

5ktev3wc1#

网站不正确。Xcode 4.2.1和4.2包含LLVM 3.0和Clang 3.0:
clang -版本
苹果clang 3.0版本(tags/苹果/clang-211.12)(基于LLVM 3.0svn)
铿锵++ --版本
苹果clang 3.0版本(tags/苹果/clang-211.12)(基于LLVM 3.0svn)
llvm-g++ --版本
i686-apple-darwin 11-llvm-g++-4.2(GCC)4.2.1(基于苹果公司内部版本5658)(LLVM内部版本2336.1.00)
llvm-gcc --版本
i686-apple-darwin 11-llvm-gcc-4.2(GCC)4.2.1(基于苹果公司内部版本5658)(LLVM内部版本2336.1.00)

b91juud3

b91juud32#

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

aydmsdu9

aydmsdu93#

您可以轻松地使用Homebrew构建自己的LLVM:

brew install llvm

如果您需要特定的版本,也可以使用版本控制包:

  • 3.7毫米
  • 3.8毫米
  • 3.9毫米
  • llvm@4
hm2xizp9

hm2xizp94#

我强烈建议不要更换macOS上的系统编译器:
你会看到很多构建过程(例如Xcode)依赖于苹果特定的扩展。
此外,Linux并不强制执行二进制兼容性--一般来说,人们从源代码构建软件,或者为每个操作系统版本下载特定的二进制文件。作为一个最终用户(相对于开发者/专业用户)操作系统,macOS会尽最大努力保持与基于旧macOS版本构建的二进制文件的兼容性。
替换编译器,或者更糟的是,替换系统库,将破坏这些兼容性保证。它还可能以微妙的、不明显的方式破坏你的系统。
但是,可以在/usr/local左右安装clang的第二个副本,并探索新的特性,但不要理会系统编译器。
另请注意,Apple不支持向应用商店提交不是使用Xcode及其包含的编译器构建的软件。如果您这样做,可能不会引起注意,但如果您的编译器无法完成Apple编译器所做的任何事情,您可能会在应用商店审查期间被拒绝。

3hvapo4f

3hvapo4f5#

在使用Xcode 4.6的10.8.2(Mountain Lion)上,版本如下:

$ 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开发者帐户直接下载更新Xcode for Lion,并安装命令行工具,这将更新Clang和LLVM到上述版本。

vx6bjr1n

vx6bjr1n6#

OS X更新版本10.9.2(Mavericks)将Xcode升级到版本5.1(5 B130 a),并将Clang升级到最新稳定版本(适用于OS X):

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的符号链接:

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)足以解决错误。

相关问题