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

问题描述 投票:0回答:7

在我的 Mac OS X 版本(10.7.1(Lion)和 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 是否存在任何可能的问题? 安装后,我拥有的所有 IDE(例如

NetBeans

)会自动使用新的 Clang 吗?

xcode macos osx-lion llvm clang
7个回答
9
投票
Homebrew

轻松构建自己的 LLVM: brew install llvm

还有版本控制包,以防您需要特定版本:

    [电子邮件受保护]
  • [电子邮件受保护]
  • [电子邮件受保护]
  • llvm@4

8
投票

Apple 尚未更新到开源组件的最新尖端版本通常有充分的理由,例如严重的错误。

如果您不需要 Apple 提供的修改并且不介意生活在边缘 - 即,没有来自 Apple 的支持并且可能(重新)发现已知问题 - 并且不打算将编译的文件发送到其他人的系统,您

可以

安装自己的版本,例如,/usr/local/bin或使用第三方包管理器,例如

MacPorts
http://www.macports.org/ports.php?by=name&substr=clang )。 您绝对不应该尝试替换 Xcode 安装路径中的文件。 值得吗?只有你才能决定。

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


8
投票
clang --版本

Apple clang 版本 3.0 (tags/Apple/clang-211.12)(基于 LLVM 3.0svn)

clang++ --版本

Apple clang 版本 3.0 (tags/Apple/clang-211.12)(基于 LLVM 3.0svn)

llvm-g++ --版本

i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1(基于 Apple Inc. 版本 5658)(LLVM 版本 2336.1.00)

llvm-gcc --版本

i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1(基于 Apple Inc. 版本 5658)(LLVM 版本 2336.1.00)


我强烈
建议不要更换

3
投票

您将看到的许多构建过程(例如 Xcode)都依赖于 Apple 特定的扩展。例如,上次我检查苹果有他们自己的链接器。 此外,Linux 不强制执行二进制兼容性——通常,人们从源代码构建软件,或者为每个操作系统版本下载特定的二进制文件。作为最终用户(而不是开发人员/专业用户)操作系统,macOS 竭尽全力保持与旧版 macOS 版本上构建的二进制文件的兼容性。

更换编译器,或更糟糕的是,更换系统库,将破坏这些兼容性保证。它还可能以微妙、不明显的方式破坏您的系统。

但是

可以随意安装 clang 的第二个副本

,并探索新功能,但不要管系统编译器。

另请注意,Apple 不支持向应用程序商店提交不是使用 Xcode 及其包含的编译器构建的软件。虽然这样做可能会被忽视,但如果您的编译器无法执行 Apple 编译器所做的任何操作,您可能会在应用程序商店审核期间被拒绝。

OS X 更新版本 

10.9.2

(Mavericks) 将 Xcode 带到版本 5.1 (5B130a),并将 Clang 带到最新稳定版本(适用于 OS X):


2
投票

输出: clang --version

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

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

我最新的
R

安装配置为使用llvm-gcc-4.2,这会在构建SHLIB时导致错误。

以同样的方式为 llvm-gcc-4.2 和 llvm-g++-4.2 创建符号链接
而不是替换 LLVM 或 CLANG

,足以解决错误。 10.8.2 (Mountain Lion) 上使用 Xcode 4.6,版本为:


1
投票

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


对我来说,我正在使用 macPorts 来升级 clang 版本: $ 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.


0
投票

sudo port install clang-16 sudo port select --set clang mp-clang-16

	

© www.soinside.com 2019 - 2024. All rights reserved.