链接器错误:1112模块机器类型'X86'与目标机器类型'IA64'冲突

时间:2011-03-02 13:26:02

标签: c++ visual-studio visual-studio-2008 com atl

我在使用XP平台上的makefile构建一个针对IA64的atl com dll时遇到以下链接器错误。

1>atls.lib(atlcommodule.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'IA64'
1>NMAKE : fatal error U1077: '"E:\Program Files\Microsoft Visual Studio 9.0\VC\Bin\x86_IA64\link.exe"' : return code '0x458'

Can anyone tell where I made a mistake?

3 个答案:

答案 0 :(得分:0)

很难说在这种特殊情况下错误来自何处,但通常意味着您尝试链接到为代码而不是目标体系结构编译的库。

你说你想生成IA64代码,但是为x86(可能是libs)编译了一些东西

答案 1 :(得分:0)

第一行讨论来自atls.lib的atlcommodule.obj。怎么编译?它可能包含在x86目录中吗?

答案 2 :(得分:0)

这是链接目标平台不匹配。不是编译器问题。

检查项目文件以获取以下代码。如果找到它,请将其删除。

 <Link>
  ...
  <TargetMachine>MachineX86</TargetMachine>
</Link>