我刚刚开始使用llvm。
这是我试图编译的代码:
#include <stdio.h>
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/IRBuilder.h"
int main()
{
llvm::LLVMContext& context = llvm::getGlobalContext();
llvm::Module* module = new llvm::Module("top", context);
llvm::IRBuilder<> builder(context);
module->dump( );
}
当我编译:
llvm-g++ try.cpp -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS `llvm-config --cxxflags --ldflags --libs`
我收到了a.out文件。不用担心。
但是,我有兴趣获取LLVM IR文件。所以,我用
编译llvm-g++ try.cpp -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -S -emit-llvm
lli try.s
我收到错误说
LLVM ERROR: Program used external function '_ZN4llvm16getGlobalContextEv' which could not be resolved!
命令:
llvm-g++ try.cpp -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS `llvm-config --cxxflags --ldflags --libs` -S -emit-llvm
给我留下了几个警告,当我用lli执行生成的.s文件时,我得到了和以前一样的错误。
非常感谢你的帮助