【问题标题】:How to update the clang version to compile a C++11 project? (on Mac)如何更新 clang 版本来编译 C++11 项目? (在 Mac 上)
【发布时间】:2013-09-21 08:18:40
【问题描述】:

我正在尝试构建一个最初为 archlinux 编写的项目。构建过程在该 archlinux 上运行良好,但当我尝试在我的 mac 上构建它时出现大量错误。该项目基本上是用 C++11 编写的,因此非常不稳定。我认为与编译器有关,因为 mac 中的 clang 版本是 4.2(它实际上显示 'Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)' 当我输入 clang --version) 和 3.3 for linux。所以我想要一个不同版本的clang,也许是3.3。尝试构建项目时如何指定编译器的版本?

【问题讨论】:

  • 没有clang 4.5版本。你在谈论 XCode 吗?或者,也许,您在 Mac OS X 中使用 gcc 4.5。
  • 对不起,clang 4.2。我已经修改了文章,谢谢!
  • Apple Clang 版本控制与 XCode 版本控制相关联,与实际的 Clang 版本不同。如果你使用clang --version,你应该得到类似“Apple Clang 4.2 based on Clang 3.X”或类似的东西。
  • 实际上,当我执行 clang --version 时,我得到了“Apple LLVM 版本 4.2 (clang-425.0.28) (基于 LLVM 3.2svn)”。所以我想我正在尝试更新 clang 而不是降级它,以支持这个项目的一些新的 c++11 功能。

标签: c++ macos c++11 clang


【解决方案1】:

有些人可能会说这属于 apple.stackexchange.com,但我不确定 C++11 标记在那里会引起很多关注:)

Xcode 5.0 现在可以从 App Store 获得。安装它,转到 Preferences -> Downloads,然后安装命令行工具。不过……

首先,您需要转到首选项 -> 帐户并添加您的 Apple ID。出于某种原因,命令行工具下载需要帐户登录。我不知道这是什么原理。

> clang -v
Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)

【讨论】:

    【解决方案2】:

    如果您愿意从命令行构建,例如使用make(这听起来很可能是因为该项目来自Linux),然后安装Macports 并安装whatever version of clang you would like

    $sudo port install clang-3.1
    $sudo clang_select
    

    请注意,如果您打算使用 xcrun clang 而不是普通的旧 clang 调用 Xcode 版本,则此版本的 clang 不应干扰 Xcode 命令行包。

    【讨论】:

    • 谢谢!但是我应该如何切换版本。我试过 sudo port install clang_select 但没用。
    猜你喜欢
    • 2012-11-04
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 2022-11-19
    • 1970-01-01
    • 2020-07-06
    相关资源
    最近更新 更多