将C ++ / CLI项目从VS2008更新到VS2010时出现链接器问题

时间:2015-01-20 11:26:12

标签: visual-studio-2010 visual-c++ mfc linker c++-cli

我们目前在.NET 3.5中使用v90(VS2008)编译器编译了一个C ++ / CLI项目。一切正常。但是当我使用v10编译器(VS2010)将项目更改为.NET 4.0时,会弹出这些链接器错误:

  

错误LNK2022:元数据操作失败(8013118D):不一致   重复类型的布局信息(tagTOUCHINPUT):   (0x02000743)。 ... \ MainWindow.obj

     

错误LNK2022:元数据   操作失败(8013118D):中的布局信息不一致   重复类型(tagTOUCHINPUT):( 0x0200072d)。 ... \ StdAfx.obj的

tagTOUCHINPUT结构似乎是MFC的一部分,该项目正在大量使用。 我尝试使用ildasm -tokens,但它只是在空错误窗口崩溃。

我没有其他想法如何调试这个项目。主要是因为我们继承了它并且它很老了。它也很大,这意味着隔离问题可能非常困难。

编辑:经过一些工作,我很确定我从项目中删除了对本机库的所有引用,除了那些由VS自动添加的引用。问题依然存在。

1 个答案:

答案 0 :(得分:0)

我们的解决方案有一些旧的基于MFC的C ++库,由于某些原因切换到/ clr编译。 当我的解决方案中的所有项目切换到/ clr编译时,我收到类似的错误消息。 在没有/ clr标志的情况下编译主项目(.exe)时,错误消失