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

时间:2016-02-04 09:17:33

标签: visual-studio visual-studio-2012 linker linker-errors

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

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

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

/VERBOSE:lib and /VERBOSE

命令行获取更多信息,但这没有帮助,只有我得到的额外输出行是一个愚蠢的

Starting pass 1

那么:任何想法如何找出导致这个奇怪错误信息的原因?如何从链接器获得更多输出?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

检查生成的.obj文件的路径,尤其是当您在多个项目(在解决方案内)中使用某些.cpp文件和/或在属性中使用%(RelativeDir)变量时- > C / C ++->输出文件->目标文件名。它发生在目标文件名'$(IntDir)\%(RelativeDir)'和 Intermediate Directory 中的$(ProjectDir)Junk\$(Platform)\中。当我将$(Platform)部分移到目标文件名时,错误消失了。

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

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

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