【问题标题】:Install libc++ on mac 10.6.8在 mac 10.6.8 上安装 libc++
【发布时间】:2013-08-03 13:16:18
【问题描述】:

我目前正在尝试在我的 Mac 上安装 lib++.1.dylib。我按照这里的说明http://libcxx.llvm.org/ 下载了源代码。当我尝试./buildit 时遇到clang++: command not found 错误。

所以我去了http://clang.llvm.org/get_started.html 并安装了clang。不幸的是,现在当我重新安装 libcxx 时,我仍然收到 clang++ 错误。 Clang 本身的工作原理是 clang --help 调出帮助菜单。

安装 Xcode 不是一个选项,因为我正在运行 10.6.8。

如何继续,即让 clang++ 命令工作?

【问题讨论】:

    标签: clang osx-snow-leopard libc++ libclang


    【解决方案1】:

    github上有10.6 build libc++的说明 https://github.com/llvm-mirror/libcxx/tree/apple

    要在 Mac OS X 10.6 上构建,您需要找到一个帮助程序库和头文件 这里。 cp cxxabi.h 到 /usr/include,cp libc++abi.dylib 到 /usr/lib。

    下一步:

    cd libcxx/lib

    export TRIPLE=-apple-

    ./buildit

    这应该会产生一个 libc++.1.dylib。要安装它,我喜欢使用 链接而不是复制,但两者都应该工作:

    cd /usr/lib

    sudo ln -sf path-to-libcxx/lib/libc++.1.dylib libc++.1.dylib

    sudo ln -sf libc++.1.dylib libc++.dylib

    cd /usr/include/c++

    sudo ln -sf path-to-libcxx/include v1

    指令中的链接不起作用。 10.6的libcppabi你可以在这个链接上下载http://www.mediafire.com/download/2aq37hc97n4f47c/libcppabi.zip

    【讨论】:

    【解决方案2】:

    在 Mac 10.6 上构建 libc++ 是一个相当复杂的过程,因为它需要存在 libc++abi,而 10.6 中没有。所以工作步骤如下:

    • 构建 Clang。
    • 使用此 Clang 构建 libc++abi。
      • 您必须确保正确放置 libc++abi 及其标头,以便在下一步中可以找到。
    • 然后使用这个 Clang 构建 libc++ 并链接到这个 libc++abi。

    另外请注意,如果您使用的是 Clang 3.3 而不是最新的开发主干,您还需要这个补丁 (http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/unwind.h?r1=172666&r2=189535&view=patch) 来 unwind.h 以便可以正确构建 libc++abi。

    我已经测试了一个工作流程并更新了自制版本公式,因此它可以在自制软件中开箱即用。您可以在https://github.com/Homebrew/homebrew-versions/blob/master/llvm33.rb查看详细信息。希望这会有所帮助。

    【讨论】: