我正在尝试将C代码片段编译成LLVM IR。我需要#include适当的LLVM头文件,例如Module.h (#include "llvm/Module.h")。对于编译,我使用:
c++ -g prog.cpp llvm-config-10 --cxxflags --ldflags --libs core -o程序
但这给了我一个错误:
c++ -g prog.cpp llvm-config-10 --cxxflags --ldflags --libs core -o prog prog.cpp:1:10:致命错误:模块.h:没有这样的文件或目录
llvm-config-10 --cxxflag的输出为
-I/usr/lib/llvm-10/include ...等
我有两个位置的Module.h头文件:
/usr/include/llvm-10/llvm/IR/Module.h
和
/usr/lib/llvm-10/include/llvm/IR/Module.h
那么,为什么"-I/usr/lib/llvm-10/include“不起作用呢?
它不应该在.../llvm/IR目录中找到头文件Module.h吗?
提前感谢!
发布于 2020-04-28 16:04:31
用#include "llvm/IR/Module.h代替#include "llvm/Module.h。此外,如果想要将C代码编译成LLVM,可以使用命令clang -S -emit-llvm source.c,该命令将创建一个包含LLVM的source.ll文件。
https://stackoverflow.com/questions/61473533
复制相似问题