使用VS2013编译64位时链接错误C1905
问题描述:
我有一个VC++代码(VS2013),它在32位编译完美。但是当我尝试在64位编译相同的代码时,我得到了下面的链接器错误。使用VS2013编译64位时链接错误C1905
1>LINK : fatal error C1905: Front end and back end not compatible (must target same processor).
1>LINK : fatal error LNK1257: code generation failed
我提到的链接:: Stackoverflow-link
我能请得到帮助来解决这个问题,并编制了64位的代码。 无法附上代码片段,因为它是一个非常大的代码库。
答
无法将32位(x86)代码与64位(x64)代码链接到同一个可执行文件或DLL中。这意味着仅使用所有静态库,导入库和DLL的64位版本。这意味着确保解决方案中的每个项目都使用x64配置进行构建。
请参阅this post了解关于64位本机编程的大量文章和演示文稿。
答
对于x64编译:
有时,这会与旧的项目被转换到新的版本发生(例如:VC 2013 - > 2015年VC)。
插入该行所有的* .vcxproj的:
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
在入门:
<PropertyGroup Label="Globals">
....
</PropertyGroup>
这将解决您的问题。
您对目标机器体系结构有何具体指定?确保你没有为你的构建混合不同的64位体系结构类型。 – rrirower 2015-02-05 15:24:08