我已经安装了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.我似乎也没有像汇编程序这样的工具。这些东西是不是不能用苹果的版本呢?我能在不与苹果版本冲突的情况下安装LLVM吗?
发布于 2017-11-25 00:48:07
苹果的叉子错过了llvm主干中的大部分库、头和命令行工具。
我建议您从主干编译一个新的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搜索路径的麻烦。然后在完成本教程之后手动删除安装。
编辑:您可能还想查看正式的构建指南https://llvm.org/docs/CMake.html
对于您的用例,树内构建也是一个可行的选择(如果您熟悉写cmake信任)
发布于 2017-11-25 15:03:55
实际上,没有必要自己构建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等。
我使用/opt作为一个例子,您可以随意选择其他最适合您的目录。
https://stackoverflow.com/questions/47479552
复制相似问题