InitializeNativeTarget的LLVM问题

时间:2014-03-17 18:48:09

标签: gcc mingw llvm jit

我正在尝试在3D软件中实现JIT着色器支持。

我使用mingw-w64编译了llvm 3.4,其中包含以下选项: --enable-targets = x86,x86_64 --host = x86_64-w64-mingw32

我的程序编译并与llvm libs完美链接。

但是,在第一个测试中,InitializeNativeTarget()返回false。

  • 我如何才能了解有关错误的更多信息?
  • 知道为什么会这样吗?在发现的每个示例/教程中都有一个简单的调用InitializeNativeTarget(),甚至没有检查结果。

谢谢!

1 个答案:

答案 0 :(得分:1)

虽然这个问题很老,但其他人可能仍在寻找答案。 在这种情况下,问题只是InitializeNativeTarget在失败时返回true,在成功时返回false。从源头上可以很容易地看出这一点:

inline bool InitializeNativeTarget() {
  // If we have a native target, initialize it to ensure it is linked in.
#ifdef LLVM_NATIVE_TARGET
  LLVM_NATIVE_TARGETINFO();
  LLVM_NATIVE_TARGET();
  LLVM_NATIVE_TARGETMC();
  return false;
#else
  return true;
#endif
}