【问题标题】:Missing clang headers缺少 clang 标头
【发布时间】:2020-08-21 20:10:11
【问题描述】:

我正在尝试在 github 中编译 Oclgrind 项目,但是当我运行 cmake 命令时出现下一个错误:

-- Found LLVM 9.0.0
-- Using LLVMConfig.cmake in: /usr/lib/llvm-9/cmake
CMake Error at CMakeLists.txt:112 (message):
  Clang headers not found (set CLANG_ROOT)

当我打开 cmakelist.txt 文件时,我发现它正在寻找 CodeGenAction.h

find_path(CLANG_HEADER "clang/CodeGen/CodeGenAction.h")
if ("${CLANG_HEADER}" STREQUAL "CLANG_HEADER-NOTFOUND")
  message(FATAL_ERROR "Clang headers not found (set CLANG_ROOT)")
endif()

我安装了多个版本的 llvm 和 clang,但我还没有找到这个文件。我还下载了 clang+llvm 的预编译二进制文件,我确实在那里看到了这个标题。 OclProject 有一个标志 LLVM_DIR 配置在安装目录中,但它不起作用(我猜 cmake 认识到我在系统中有 llvm 并尝试使用它,而不是我给的 LLVM_DIR 标志)...

  1. 为什么在 ubuntu 上安装 clang/llvm 没有安装 clang 头文件(正如我在下载的预编译文件中看到的那样)?
  2. 如何在我的 ubutnu 中安装这些头文件(我有多个版本的 clang 和 llvm)

【问题讨论】:

  • 您是否按照错误消息的提示尝试了(“set CLANG_ROOT”)?
  • 我尝试将其设置为“/usr/”(其中包含 bin、include、子文件夹),但它不起作用...我不知道还有什么其他 clang_root...
  • 你有办法解决这个问题吗?我遇到了完全相同的问题。

标签: cmake clang llvm-clang


【解决方案1】:

首先,在我的系统中,我需要使用 LLVM 11。 请检查https://apt.llvm.org/。

安装 LLVM 11 后,我仍然遇到同样的错误,但我可以通过安装修复它

sudo apt install libclang-11-dev

【讨论】:

    猜你喜欢
    • 2013-08-19
    • 2012-10-27
    • 2012-06-06
    • 2021-04-10
    • 2021-08-25
    • 2012-05-12
    • 2021-06-23
    • 2021-11-27
    相关资源
    最近更新 更多