前端和后端不兼容 - 获取更多链接器信息

Front end and back end not compatible - get more linker information

在 VisualStudio 2012 中构建项目时收到错误消息

LINK : fatal error C1905: Front end and back end not compatible (must target same processor).

手动检查项目没有帮助,所有涉及的(静态)库都是为同一处理器构建的。我还添加了

/VERBOSE:lib and /VERBOSE

到命令行获取更多信息,但这无济于事,我得到的唯一额外输出行是一个愚蠢的

Starting pass 1

所以:有什么想法可以找出导致此奇怪错误消息的原因吗?如何从链接器获得更多输出?

谢谢!

老问题,我不确定是否还有人需要答案。 Visual Studio 2017 年我遇到了这个问题。

检查生成的 .obj 文件的路径,尤其是当您在多个项目(在解决方案内)中使用一些 .cpp 文件时 and/or 在 属性 -> C/C++ -> 输出文件 -> 目标文件名Object File Name '$(IntDir)\%(RelativeDir)' 中的这条路径和 Intermediate Directory[=42 中的这条 $(ProjectDir)Junk$(Platform)\ 发生在我身上=].当我将 $(Platform) 部分移动到 Object File Name.

时错误消失了

旧路径:
中间目录$(ProjectDir)Junk$(Platform)\.
对象文件名$(IntDir)\%(RelativeDir)

新路径:
中间目录$(ProjectDir)Junk\.
对象文件名$(IntDir)$(Platform)\%(RelativeDir).

您还可以为每个文件指定 Object File Name 选项,在多个项目之间共享以继续使用旧路径(或者如果新路径配置不适合您)和摆脱那个错误。