我已经安装了Apple的命令行工具9.1版,并且正在使用LLVM教程。我需要使用像llvm / ADT和llvm / IR这样的库,但在运行代码时会出错。
main.cpp:1:10: fatal error: 'llvm/ADT/APFloat.h' file not found
#include "llvm/ADT/APFloat.h"
^~~~~~~~~~~~~~~~~~~~
1 error generated.
我似乎也没有像汇编程序这样的工具。这些东西不适用于Apple的版本吗?我可以安装LLVM而不会与Apple的版本冲突吗?
答案 0 :(得分:2)
Apple的fork错过了llvm trunk中的大部分库,头文件和命令行工具。
我建议你从trunk编译一个新的llvm副本。
冲突取决于您如何配置所有内容。你可以:
以下是我一直在使用的构建脚本:
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DLLVM_APPEND_VC_REV=on -DLLVM_ENABLE_EH=on -DLLVM_ENABLE_RTTI=on -DLLVM_CREATE_XCODE_TOOLCHAIN=on -DCMAKE_INSTALL_PREFIX=~/Library/Developer/ ../LLVM
运行ninja install
将安装到全局位置,否则运行ninja install-xcode-toolchain
以作为单独的工具链安装
在您的情况下,我建议安装到全球位置,以避免弄乱CFLAGS / LDFLAGS / Header Search Path。完成本教程后,请手动删除安装
编辑:您可能还想查看官方制作指南https://llvm.org/docs/CMake.html
对于您的用例,树内构建也是一个可行的选择(假设您熟悉编写cmake配置)
答案 1 :(得分:1)
实际上,没有必要自己构建LLVM。您可以在此处获得适用于您平台的预建版本:http://releases.llvm.org
在你的情况下,它会是这样的:
cd /opt
wget http://releases.llvm.org/5.0.0/clang+llvm-5.0.0-x86_64-apple-darwin.tar.xz
tar xvf clang+llvm-5.0.0-x86_64-apple-darwin.tar.xz
mv clang+llvm-5.0.0-x86_64-apple-darwin llvm-5.0.0
之后,您将拥有/opt/llvm-5.0.0
下的所有内容,例如:
/opt/llvm-5.0.0/bin/clang
/opt/llvm-5.0.0/bin/llvm-config
/opt/llvm-5.0.0/lib/libc++.a
等
P.S。我使用/opt
作为示例,随意选择最适合您的任何其他目录。