在我的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吗?
6条答案
按热度按时间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)
b91juud32#
软件供应商在更新构建工具方面传统上是保守的,这是有充分理由的。如果你想使用Apple提供和修改的最新的公共支持版本的构建工具,你应该坚持使用你正在运行的OS X发行版的最新版本Xcode中的那些工具。
苹果还没有更新到最新的开源组件的尖端版本,通常有很好的理由,比如严重的bug。
如果你不需要苹果提供的修改,也不介意生活在边缘--也就是说,没有苹果的支持,可能(重新)发现已知的问题--并且不打算将编译好的文件发送到其他人的系统中,您 * 可以 * 在
/usr/local/bin
中安装您自己的版本,或者使用第三方软件包管理器,比如MacPortshttp://www.macports.org/ports.php?by=name&substr=clang)。你绝对不应该**尝试替换Xcode安装路径下的文件。值得吗?只有你能决定。
aydmsdu93#
您可以轻松地使用Homebrew构建自己的LLVM:
如果您需要特定的版本,也可以使用版本控制包:
hm2xizp94#
我强烈建议不要更换macOS上的系统编译器:
你会看到很多构建过程(例如Xcode)依赖于苹果特定的扩展。
此外,Linux并不强制执行二进制兼容性--一般来说,人们从源代码构建软件,或者为每个操作系统版本下载特定的二进制文件。作为一个最终用户(相对于开发者/专业用户)操作系统,macOS会尽最大努力保持与基于旧macOS版本构建的二进制文件的兼容性。
替换编译器,或者更糟的是,替换系统库,将破坏这些兼容性保证。它还可能以微妙的、不明显的方式破坏你的系统。
但是,可以在
/usr/local
左右安装clang的第二个副本,并探索新的特性,但不要理会系统编译器。另请注意,Apple不支持向应用商店提交不是使用Xcode及其包含的编译器构建的软件。如果您这样做,可能不会引起注意,但如果您的编译器无法完成Apple编译器所做的任何事情,您可能会在应用商店审查期间被拒绝。
3hvapo4f5#
在使用Xcode 4.6的10.8.2(Mountain Lion)上,版本如下:
您也可以从App Store或Apple开发者帐户直接下载更新Xcode for Lion,并安装命令行工具,这将更新Clang和LLVM到上述版本。
vx6bjr1n6#
OS X更新版本10.9.2(Mavericks)将Xcode升级到版本5.1(5 B130 a),并将Clang升级到最新稳定版本(适用于OS X):
输出量:
在我的Mac上,llvm-gcc和llvm-g++是指向此Clang的符号链接:
我最新的R安装配置为使用llvm-gcc-4.2,这在构建SHLIB时会导致错误。为llvm-gcc-4.2和llvm-g++-4.2创建符号链接(以同样的方式而不是替换LLVM或CLANG)足以解决错误。