将 x86 项目转换为 x64 时如何解决错误 LNK1112?

How to solve error LNK1112 when converting a x86 project to x64?

我在 Visual Studio 2015 年将我的 x86 MFC dll 代码转换为 x64,但我收到错误消息:

.\Debug\FabricaPesquisa.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

我已经在链接器上检查了目标机器,它是正确的(MachineX64(/MACHINE:X64)),我的“附加选项” 是空白的(显然这里的错误信息会导致同样的错误),Configuration Manager 它引用了正确的平台,“附加依赖项”中添加的库。 =34=] 都是 x64(我也尝试删除它们,但没有改变错误)。

当我在 .obj 文件中使用 dumpbin 时(如 this answer 中所建议),我注意到他们都是机器(x86)。

我也遵循了步骤 on this answer,确保 “可执行目录” 中的路径引用 x64 目录:

$(VSInstallDir)

$(VSInstallDir)bin

$(VSInstallDir)bin\x86_amd64

$(WindowsSDK_ExecutablePath_x64)

我该如何解决这个问题?

在此先致谢,如有任何提示,我们将不胜感激!

如果有人遇到同样的问题,显然,我没有足够注意 this answer 并且没有意识到条目的顺序很重要,

要工作,需要在 $(VCInstallDir)\bin\x86_amd64 之前放置 $(VCInstallDir)\bin\x86_amd64 )\bin 项目属性 > VC++ 目录 > 可执行目录.