I am just getting started with llvm.
Here's code I am trying to compile:
#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( );
}
when i compile with :
llvm-g++ try.cpp -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS `llvm-config --cxxflags --ldflags --libs`
I get the a.out file. No worries.
But, I am interested in getting the LLVM IR file.So, I compiled with
llvm-g++ try.cpp -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -S -emit-llvm
lli try.s
I get an error saying
LLVM ERROR: Program used external function '_ZN4llvm16getGlobalContextEv' which could not be resolved!
The command :
llvm-g++ try.cpp -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS `llvm-config --cxxflags --ldflags --libs` -S -emit-llvm
leaves me with several warnings and when i execute the resultant .s file with lli , I get the same error as before.
Thanks a lot for your help