【问题标题】:How to solve error LNK1112 when converting a x86 project to x64?将 x86 项目转换为 x64 时如何解决错误 LNK1112?
【发布时间】:2020-03-20 13:17:13
【问题描述】:

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

.\Debug\FabricaPesquisa.obj:致命错误 LNK1112:模块机器类型“X86”与目标机器类型“x64”冲突

我已经检查了 Linker 上的 Target Machine 并且它是正确的 (MachineX64 (/MACHINE:X64)),我的 "Additional Options" 是空白的(显然是错误的信息这里可能会导致相同的错误),配置管理器它引用了正确的平台,“附加依赖项”上添加的库都是x64(我也尝试删除它们并它没有改变错误)。

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

我还按照on this answer 的步骤操作,确保“可执行目录” 中的路径引用 x64 目录:

$(VSInstallDir)

$(VSInstallDir)bin

$(VSInstallDir)bin\x86_amd64

$(WindowsSDK_ExecutablePath_x64)

我该如何解决这个问题?

提前致谢,任何提示将不胜感激!

【问题讨论】:

    标签: visual-studio visual-c++ dll mfc 64-bit


    【解决方案1】:

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

    为了工作,必须将 $(VCInstallDir)\bin\x86_amd64 放在 项目属性 > VC++ 目录 > $(VCInstallDir)\bin 之前可执行目录

    【讨论】:

      猜你喜欢
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      • 2012-02-06
      相关资源
      最近更新 更多