【问题标题】:2 errors compiling clang and llvm with Visual C++ 2015 Community使用 Visual C++ 2015 社区编译 clang 和 llvm 的 2 个错误
【发布时间】:2015-12-24 23:25:19
【问题描述】:

有2个错误:

1.) 第 574 行 BackendUtil.cpp 文件中的项目 clangCodeGen 中的 C2039,“MCIncrementalLinkerCompatible”不是“llvm::MCTargetOptions”的成员。

2.) 第 404 行文件 cc1as_main.cpp 中项目 clang 中的 C2660,不能为函数“llvm::Target::createMCObjectStreamer”使用 9 个参数。

【问题讨论】:

  • 您有问题吗?
  • 是的。如何修复这些错误?
  • 您有显示第 574 行和第 404 行的代码吗?我没有看到这些行有任何错误,因为....没有发布任何代码!
  • 你在编译什么版本的源码? createMCObjectStreamer 看起来应该需要 9 个参数;它是如何在你的标题中声明的?
  • 这是第 574 行: Options.MCOptions.MCIncrementalLinkerCompatible = CodeGenOpts.IncrementalLinkerCompatible;这是第 404 行:Str.reset(TheTarget->createMCObjectStreamer(T, Ctx, *MAB, *Out, CE, *STI, Opts.RelaxAll, Opts.IncrementalLinkerCompatible, /*DWARFMustBeAtTheEnd*/ true));

标签: c++ visual-studio clang llvm


【解决方案1】:

您的 clang 版本似乎与您的 LLVM 版本不兼容。

导致您出现问题的 IncrementalLinkerCompatible 标志仅在四天前添加到 LLVM (http://permalink.gmane.org/gmane.comp.compilers.llvm.cvs/292184)。

所以我想你一定下载了它的当前版本而不是 3.7.0。

【讨论】:

  • 这很奇怪,因为我把它们都从后备箱里弄出来了。我尝试从 clang.llvm.org 下载它,但由于缺少头文件(如 dirent.h 和 dlfcn.h),cmake 将无法工作,即使它们中有大量在我的 MingW 包含目录中,并且包括目录已添加到 PATH 环境变量中。头文件适用于主干版本,但网站下载的头文件似乎阻止 cmake 看到 MingW 包含目录。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-26
  • 1970-01-01
  • 2016-02-16
  • 2014-10-01
  • 2015-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多