在VisualStudio 2012中构建项目时,我收到错误消息
LINK : fatal error C1905: Front end and back end not compatible (must target same processor).
手动检查项目没有帮助,所有涉及的(静态)库都是为同一个处理器构建的。我还添加了
/VERBOSE:lib and /VERBOSE
命令行获取更多信息,但这没有帮助,只有我得到的额外输出行是一个愚蠢的
Starting pass 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)
。
您还可以为每个文件指定对象文件名选项,该选项在多个项目之间共享,以继续使用旧路径(或者如果新路径配置不适合您)并摆脱该错误