JL-скомпилированная программа LLVM не может найти внешние функции

Моя программа, которая JIT компилирует модуль IR LLVM и вызывает функциюfoo определенный в нем сбой во время выполнения, еслиfoo использует внешне определенную функцию:

LLVM ERROR: Program used external function 'glutInit' which could not be resolved!

Моя программа:

// foo1.cpp
#include 

extern "C" void foo()
{
  glutInit(0,0);
}

// foo2.cpp
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

int main(int argc, char **argv)
{
  using namespace llvm;
  InitializeNativeTarget();

  LLVMContext context;
  SMDiagnostic error;

  std::ifstream ir_file("foo1.s");
  std::string ir((std::istreambuf_iterator(ir_file)),
                 (std::istreambuf_iterator()));

  Module *m = ParseIR(MemoryBuffer::getMemBuffer(StringRef(ir)), error, context);
  if(!m)
  {
    error.print(argv[0], errs());
  }

  ExecutionEngine *ee = ExecutionEngine::create(m);

  Function *func = ee->FindFunctionNamed("foo");
  if(func == 0)
  {
    std::cerr < "Couldn't find Function foo" < std::endl;
    std::exit(-1);
  }

  typedef void (*fcn_ptr)();
  fcn_ptr foo = reinterpret_cast

Ответы на вопрос(2)

Ваш ответ на вопрос