LLVM基本程序:链接器错误

时间:2014-08-01 10:14:51

标签: c++ llvm llvm-gcc llvm-ir llvm-c++-api

我刚刚开始使用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文件时,我得到了和以前一样的错误。

非常感谢你的帮助

0 个答案:

没有答案