【问题标题】:error LNK2038: mismatch detected for '_MSC_VER': value '1800' doesn't match value '1900'错误 LNK2038:检测到“_MSC_VER”不匹配:值“1800”与值“1900”不匹配
【发布时间】:2018-05-05 12:36:08
【问题描述】:

我在VS2017项目编译过程中遇到以下问题:

1>libPolyFill.lib(libPolyFill.obj):错误 LNK2038:检测到“_MSC_VER”不匹配:值“1800”与 clientPolyFill.obj 中的值“1900”不匹配

项目中包含的库文件是在 VS2013 中编译的,所以我知道我需要一个特定的平台工具集 (V120) 来编译它。但问题是即使在微软网站上也不再提供 Toolset V120。 I have only this toolset platforms to choose 在这种情况下我能做什么? 感谢您的帮助!

【问题讨论】:

  • 安装Visual Studio 2013。或者重新编译libPolyFill.lib
  • 在哪里可以找到VS2013的下载源?在微软官方网站上它不再可用。或者我怎样才能重新编译lib文件?
  • 你从哪里得到的库?也许源代码是可用的。
  • 看来您仍然可以在这里获得 Visual Studio 2013 社区:visualstudio.com/vs/older-downloads
  • 源代码不再可用。是否可以在没有源代码的情况下重新编译lib?

标签: c++ visual-studio-2017 linker-errors


【解决方案1】:

对于 google 因此类错误而发送到此处的人:

_MSC_VER 是一个链接器检查链接的两个对象是否是二进制兼容的。值得庆幸的是,它是在 VC++ 2008 之后添加的,并且已经保存了很多奇怪的链接错误。

【讨论】:

    【解决方案2】:

    由于您没有可用的源代码(因此无法重定向 libPolyFill),因此您无法使用 Visual Studio 2013。

    这是一个 SO 答案,带有指向 ISO 的直接下载链接:https://stackoverflow.com/a/31825881/1741450

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2018-04-19
      • 2013-11-03
      • 2016-06-24
      • 2021-01-29
      • 2023-03-13
      相关资源
      最近更新 更多