【问题标题】:How to install clang 3.1 using macports? (OSX, snow leopard)如何使用 macports 安装 clang 3.1? (OSX,雪豹)
【发布时间】:2012-05-09 06:19:15
【问题描述】:

我想使用 macports 安装最新的 clang (3.1) 编译器(我使用 emacs 而不是 xcode,而且 xcode 附带的 clang 版本更旧)。 macports 似乎有最新版本的 gcc,但是当我输入“port list clang”时,唯一显示的版本是 2.9。我用的是C++11的特性,所以想用最新的版本。

我在 MBP 上跑雪豹。

【问题讨论】:

    标签: c++ macos compiler-construction clang macports


    【解决方案1】:

    Clang 在 MacPorts 上有几个不同的版本:

    $ port search clang
    
    clang @2.9 (lang)
        C, C++, Objective C and Objective C++ compiler
    
    clang-2.9 @2.9 (lang)
        C, C++, Objective C and Objective C++ compiler
    
    clang-3.0 @3.0 (lang)
        C, C++, Objective C and Objective C++ compiler
    
    clang-3.1 @3.1-r154872 (lang)
        C, C++, Objective C and Objective C++ compiler
    
    clang-devel @3.0 (lang)
        C, C++, Objective C and Objective C++ compiler
    
    clang_select @0.1 (sysutils)
        common files for selecting default clang version
    
    Found 6 ports.
    

    因此,如果您只安装 clang 端口,它将安装 2.9 版。如果您想要 3.1,请安装 clang-3.1 端口。您还可以安装clang_select,这是一个实用程序,可以让您在多个安装的 Clang 之间轻松切换;没有它,您每次都必须手动指定所需的 Clang 二进制文件的版本。

    【讨论】:

    • 谢谢。我想我很困惑,因为“列表”显示了所有不同版本的 gcc,而不是 clang。
    • @BarnabasSzabolcs:显然它是port 的秘密子命令——您可以使用命令port select --set clang <version> 选择要运行的Clang 版本(您可以使用port select --show clang 列出可用版本)。
    • 可能是因为我已经安装了 Apple Developer Tools,但是在 port install clang-3.3 之后,命令 port select --show clang 报告“无”。所以似乎总是需要sudo port select --set clang <version> 来激活 macports 安装。
    • 运行port select --list clang 命令以获取可供选择的可用版本字符串非常重要。这似乎不是显而易见的选择。在运行sudo port select --set clang <version> 命令之前,请运行此命令以了解可能的版本字符串值。对于 3.3 Clang, 值为:mp-clang-3.3.
    【解决方案2】:

    只需指定版本号: port list clang-3.1

    对我来说工作得很好。我在 Lion,但我不明白为什么会有所作为。

    【讨论】:

      【解决方案3】:

      由于 macports 存储库似乎没有最新的 clang,我建议 building clang from source 然后继续 make a new macports package

      【讨论】:

        猜你喜欢
        • 2012-07-01
        • 1970-01-01
        • 2011-12-04
        • 2012-05-12
        • 2010-12-03
        • 1970-01-01
        • 2011-09-24
        • 2010-12-08
        • 1970-01-01
        相关资源
        最近更新 更多