【问题标题】:"Attributes.inc" file not found未找到“Attributes.inc”文件
【发布时间】:2019-05-06 00:47:47
【问题描述】:

我一直在使用include\llvminclude\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


【解决方案1】:

我也遇到了同样的问题。我通过将以下行添加到相关的CMakeLists.txt

来修复它
> add_dependencies(<Module Name> intrinsics_gen)

【讨论】:

    【解决方案2】:

    make install-llvm-headers 可能对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      • 2021-09-17
      • 2022-01-06
      • 2016-09-22
      • 2023-04-01
      • 2014-04-17
      • 2019-11-28
      相关资源
      最近更新 更多