在编译LLVM IR时使用LLVM标头

问题描述 投票:1回答:1

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

c ++ -g prog.cppllvm-config-10 --cxxflags --ldflags --libs core-o prog

但是那给了我一个错误:

c ++ -g prog.cppllvm-config-10 --cxxflags --ldflags --libs core-o progprog.cpp:1:10:致命错误:Module.h:无此类文件或目录

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

-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?

提前感谢!

c++ llvm-ir
1个回答
0
投票

代替#include "llvm/Module.h放置#include "llvm/IR/Module.h。另外,如果要将C代码编译为LLVM IR,则可以使用命令clang -S -emit-llvm source.c,这将创建一个包含LLVM IR的source.ll文件。

© www.soinside.com 2019 - 2024. All rights reserved.