Clang有binary distro种类,但没有任何README
文件或任何东西可以告诉你tarball中的内容或者如何使用它。
我似乎需要单独下载并安装libc++
。我可能只需要复制clang
二进制文件,也可能只复制其他文件,但不能复制所有llvm-*
内容。这只是通过二进制发行版中缺少任何C ++标头来判断(尽管包含了一些特定于环境的标头),并且在我现有的Xcode安装的LLVM 3.2上缺少llvm-as
等。
我只想运行编译器,而不是使用libclang
开发或汇编LLVM汇编文件。某处有指令页吗?
答案 0 :(得分:3)
LLVM项目实际上并不期望很多人使用他们推出的二进制发行版。 LLVM会为定期验证发布版本,但预计大多数用户将通过其操作系统发行版获得LLVM,或者从源代码构建他们想要的版本。
请参阅this email thread clang开发人员正在讨论如何使用二进制分发。
那就是说,如果你愿意,你可以使用他们的发行版。安装内容取决于您的目标:
我可能只需要复制clang二进制文件,也可能只复制其他一些文件,但不是所有的llvm- *东西。
如果您只想编译C / C ++ / Obj-C,那么我相信你所需要的只是clang二进制文件(以及'clang ++'符号链接),'内置'标题和运行时库。您将在/lib/clang/<version>/
中找到这些标头和库。 (clang编译器通常根据它们相对于二进制文件的位置找到它的内置部分。)
如果要将LLVM用作后端,则需要构建和链接LLVM头和库,或者您需要一些ll *二进制文件来处理前端的输出。
如果你想构建基于clang的工具,你需要使用clang头文件和库来构建和链接,包括稳定的C API或不稳定的C ++ API。
请注意,这些库是使用RTTI构建的,并禁用了异常。这会更改ABI,因此您无法将这些与使用RTTI构建的代码或启用了异常的代码链接起来。
看来我需要单独下载并安装libc ++。
正确,libc ++不包含在LLVM的发行版中。许多标称LLVM子项目不包括在内。 LLDB是另一个例子。
LLVM也不包含标准C库或基本的Objective-C框架。
答案 1 :(得分:2)
对于基于Linux发行版的Ubuntu / Debian(包含Linux Mint),还有http://llvm.org/apt/预先构建的.deb文件
这样做的优点是以后更容易卸载,并且还提供Clang 3.4每晚构建(还提供了3.3版本)。只需在sources.list
中添加一行(或使用GUI包管理器即可),然后进行设置。