如何在 OS X 中升级 gcc 的 Clang 版本?

Posted

技术标签:

【中文标题】如何在 OS X 中升级 gcc 的 Clang 版本?【英文标题】:How do I upgrade gcc's Clang version in OS X? 【发布时间】:2017-02-06 18:16:34 【问题描述】:

我知道最近的 Mac OS X 版本不使用 gcc (g++)。当我输入 gcc 或 g++ 时,操作系统实际上使用 Clang (cc)。

现在,我正在运行 OS X 10.8.2 和 LLVM 版本 4.2 (clang-425.0.28),通过 XCode 安装:

$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

但是,隐藏在文件系统中的是另一个更新的 Clang 版本:

$ clang --version
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

如何强制 gcc “链接” Clang 503... 而不是 Clang 425...?

【问题讨论】:

【参考方案1】:

安装 Xcode,它将为您提供两者的最新可用版本:

xcode-select --install
...

$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

$ clang --version
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

【讨论】:

这里似乎缺少--install 参数:xcode-select: Error: unknown command option '--install'.。我正在使用 xcode-select 版本 2311。 我猜你可能需要(重新)从 Mac App Store 安装 Xcode itunes.apple.com/us/app/xcode/id497799835?mt=12

以上是关于如何在 OS X 中升级 gcc 的 Clang 版本?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在编译期间不使用 GCC 选项 -Os?

使用 Mac OS X 10.8.5 Xcode 5.0.2 配置错误:clang:错误:缺少“-V”的参数(预期 1 个值)clang:错误:没有输入文件

如何在 OS X Mavericks 上使用 Clang 设置自定义 C 入口点?

从命令行使用 clang 编译:兼容性问题 mac os X

如何在 Mac OS X 下AA,安装 gcc

Mac OS X 10.8.3 上的 gfortran/gcc4.8