我一直在尝试编译一个
llvm
插件。我已经检查了llvm
here的源代码并实现了一个简单的示例,例如基于this文章。针对 llvm
进行编译时,出现以下错误:
/mnt/d/Cpp/llvm-project/llvm/include/llvm/Support/Compiler.h:18:10: fatal error: llvm/Config/llvm-config.h: No such file or directory
18 | #include "llvm/Config/llvm-config.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
如果我检查
Compiler.h
文件和应该包含的文件,我会发现一个名称非常相似的文件:llvm-config.h.cmake
。这是一个llvm
错误还是我做错了什么?为什么llvm
代码看起来有问题却写成这样?
据我了解,您需要使用 cmake 来构建它,而不是包含
您面临的问题是您直接从源代码树而不是从安装树包含头文件和lib文件。
从源代码构建 LLVM 和相关工具后,您需要通过运行以下命令来安装构建: cmake --install build --config 发布 (如果您构建的是调试版本,请将“发布”替换为“调试”)
这些文件将安装在 CMAKE_INSTALL_PREFIX 选项或环境变量中指定的文件夹中。安装后,cmake 将创建适合您的系统和构建配置的正确 llvm-config.h 文件。