找不到 'llvm/IR/Constants.h' 文件
'llvm/IR/Constants.h' file not found
我正在尝试制作编译器,并且我正在使用 llvm(C API)用于中间代码和最终代码生产。虽然试图执行命令时:
llvm.o: llvm.cpp llvm.h
$(CPP) llvm.cpp -c -$(FLAGS)
在我的make文件中,我会遇到错误:
In file included from llvm.cpp:6:
./opt.h:5:10: fatal error: 'llvm/IR/Constants.h' file not found
#include <llvm/IR/Constants.h>
^~~~~~~~~~~~~~~~~~~~~
1 error generated.
我正在使用 Mac OS(Sierra版本10.12.6),并且我使用BREW(brew install llvm
)安装了LLVM,因此我无法理解如何找到库文件。
也是我的 clang版本:
bash-3.2$ clang --version
Apple LLVM version 9.0.0 (clang-900.0.37)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
我已经搜索了很多东西,但是找不到任何解决我的问题的东西,任何帮助!!。
您的标志是什么?您需要提供链接标志和标头搜索标志。
以下可以帮助您:
llvm.o: llvm.cpp llvm.h
$(CPP) llvm.cpp -c -$(FLAGS) `llvm-config --cxxflags --ldflags --libs`
请注意,没有任何参数的--libs
将您的二进制文件与所有LLVM库链接。
upd:
在MacOS LLVM-CONFIG和其他工具上未添加到$PATH
中,因为它会覆盖系统编译器并可以以某种方式拧紧您的系统。您需要使用完整的路径,例如/usr/local/Cellar/llvm/3.9.0/bin/llvm-config
。确保您在此处使用正确的版本。
另外,请确保您的标志实际上是对命令进行评估而不是粘贴到命令的:
的FLAGS=$(shell llvm-config --cxxflags --ldflags --libs)
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- 如何使用ndk-build.cmd构建Android.so文件
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 读取文件并输入到矢量中
- 在C++中查找文件
- c++库的公共头文件中应该包含什么
- 用c++从输入文件中读取另一行
- Cppcheck生成xml转储文件
- 读取文件的最后一行并输入到链接列表时出错
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 如何将内容数组写入文本文件?
- 找不到 'llvm/IR/Constants.h' 文件