【发布时间】:2019-05-06 00:47:47
【问题描述】:
我一直在使用include\llvm 和include\llvm-c 中提供的头文件来尝试制作我自己的编译器。但是,每当我尝试编译时,都会出现此错误。我的文件中没有llvm/IR/Attributes.inc,也没有我见过的任何 LLVM 项目。我收到此错误:
In file included from ./headers/llvm/IR/Function.h:26:
In file included from ./headers/llvm/IR/Argument.h:19:
./headers/llvm/IR/Attributes.h(74,14): fatal error: 'llvm/IR/Attributes.inc' file not found
#include "llvm/IR/Attributes.inc"
这里有什么问题?
【问题讨论】:
-
Attributes.inc 文件是使用 tablegen 程序生成的,该程序将 Attributes.td 域特定文件作为输入。我建议您使用 llvm-config 实用程序来正确获取您构建的 llvm 的包含路径。
-
我没有在任何教程或文档中看到 tblgen。有什么教程推荐吗?
-
我假设您正在使用 llvm 源并构建它(而不是 llvm-dev 包和头文件),因此在构建过程中它会自动生成所有这些文件和二进制文件以及“llvm-config " 二进制文件包含所有相关信息。我建议您通过llvm.org/docs/GettingStarted.html 构建llvm 二进制进程和pauladamsmith.com/blog/2015/01/… 使用llvm 部分编译您的c/c++ 代码。
标签: clang llvm llvm-ir llvm-c++-api