我在Linux和OS X上多年来一直在构建Clang。从LLVM Download page开始,我总是使用以下来源:
我可以在Clang 3.5 download, build and install script找到我用来下载,构建和安装Clang 3.5的配方。
它在OS X 10.7和10.8上运行得很好,而且我从来不需要在OS X 10.7.x或10.8.x上使用libc ++设备(大约在2010年左右通过当前版本)。
问题:什么时候需要libc ++和libc ++ ABI来源?
我正在尝试帮助解决无法在OS X 10.9上编译简单的C ++“Hello World”程序的问题。 Clang 3.5安装在/usr/local
中(就像其他人一样),但它找不到标题(如<iostream>
),并且在链接期间遇到未定义的符号(如"std::ostream::operator<<(std::ostream& (*)(std::ostream&))"
)。
我想知道10.7和10.8是否有先前版本的Clang所期望的标题和库,但是10.9需要它们构建和安装。
问题:这是缺少libc ++和libc ++ ABI的症状吗?
答案 0 :(得分:2)
在构建/安装clang时,您应该检查libc ++源代码,这样您也将安装C ++ STL。
如果你的系统上没有libc ++运行时,你应该检查并安装libc ++ abi和libc ++,它们可以独立完成,并且独立于你的llvm / clang安装中的checkout。
作为参考,我建议你看一下MacPorts中的libcxxabi,libcxx,libunwind和llvm-X.Y端口,它们展示了我如何配置这些项目以通过优胜美地在Leopard上构建。