私は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
いくつかの警告が表示され、結果の .s ファイルを lli で実行すると、以前と同じエラーが発生します。
助けてくれてどうもありがとう