C++ 编译LLVM IR时使用LLVM头

C++ 编译LLVM IR时使用LLVM头,c++,llvm-ir,C++,Llvm Ir,我正在尝试将C代码片段编译成LLVM IR。 我需要#包括适当的LLVM头文件,例如Module.h (#包括“llvm/Module.h”)。 对于汇编,我使用: c++-g prog.cppllvm-config-10--cxflags--ldflags--libs core-o prog 但这给了我一个错误: c++-g prog.cppllvm-config-10--cxflags--ldflags--libs core-o prog prog.cpp:1:10:致命错误:Module.

我正在尝试将C代码片段编译成LLVM IR。 我需要#包括适当的LLVM头文件,例如Module.h (#包括“llvm/Module.h”)。 对于汇编,我使用:

c++-g prog.cpp
llvm-config-10--cxflags--ldflags--libs core
-o prog

但这给了我一个错误:

c++-g prog.cpp
llvm-config-10--cxflags--ldflags--libs core
-o prog prog.cpp:1:10:致命错误:Module.h:没有这样的文件或目录

llvm-config-10--cxflags的输出是

-I/usr/lib/llvm-10/包括。。。等

我在两个位置有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吗

提前谢谢

而不是
#包括“llvm/Module.h
放置
#包括“llvm/IR/Module.h
。 另外,如果要将C代码编译成LLVM IR,可以使用命令
clang-S-emit LLVM source.C
,该命令将创建一个包含LLVM IR的source.ll文件