【问题标题】:Why Visual Studio generates two versions of Obj?为什么 Visual Studio 会生成两个版本的 Obj?
【发布时间】:2014-01-12 07:35:08
【问题描述】:

我使用Visual studio 2010 编译解决方案。报错

对象或库文件 ... 是使用比其他对象更旧的编译器创建的;重建旧对象和库。

然后我在相关lib项目上禁用/GL作为解决方法,但报告另一个错误

“P1”版本“20100826”和“P2”版本“20081201”不匹配

我检查了框架和平台工具集,所有项目都相同(4.0 和 v100)。 Visual Studio 如何编译两个版本的 obj?有什么好的方法可以消除这个编译错误?

【问题讨论】:

  • 您是否尝试按照建议重建整个解决方案?
  • 是的,我尝试重建但仍然报错。我在想有什么方法可以检查编译了 .obj 的 VS 版本吗?
  • 您是静态链接旧的 .lib 文件还是编译源代码并生成它们?我认为,您并没有清理旧的库文件并通过编译再次生成它们。
  • 删除所有的obj文件夹,重新构建,问题依旧存在。

标签: c++ visual-studio-2010 compilation


【解决方案1】:

可能您已经更改了项目的配置。更改的路径名称是一个很好的候选者。考虑这些步骤

  • 从 Visual Studio 菜单清理项目
  • 从 Windows 资源管理器中删除任何 .obj 文件
  • 重新构建。

如果这没有帮助,请启用详细链接器输出并检查实际链接的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 2013-11-14
    • 2010-09-13
    • 2011-10-22
    相关资源
    最近更新 更多