-1

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

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

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

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

我还按照这个答案的步骤,确保“可执行目录”中的路径引用 x64 目录:

$(VSInstallDir)

$(VSInstallDir)bin

$(VSInstallDir)bin\x86_amd64

$(WindowsSDK_ExecutablePath_x64)

我怎么解决这个问题?

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

4

1 回答 1

0

如果有人遇到同样的问题,显然,我没有足够重视这个答案,也没有意识到条目的顺序很重要,

要工作,必须将$(VCInstallDir)\bin\x86_amd64放在Project Properties > VC++ Directories > Executable Directories的$(VCInstallDir)\bin之前。

于 2020-03-20T17:17:33.023 回答