首页 > 解决方案 > 将 VS2010 项目从 32 位转换为 64 位时的 LNK2022

问题描述

我正在将 VS2010 项目从 32 位转换为 64 位。编译正常,但是当它尝试链接时,我收到以下错误:

 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _GUID; fields: <alignment member>): (0x040000bc).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_GUID): (0x020000bc).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagMSG; fields: <alignment member>): (0x040000c0).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagMSG): (0x020000c0).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HWND__; fields: <alignment member>): (0x040000c1).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HWND__): (0x020000c1).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagRECT; fields: <alignment member>): (0x040000c9).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagRECT): (0x020000c6).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HDC__; fields: <alignment member>): (0x040000ca).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HDC__): (0x020000c7).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _SECURITY_ATTRIBUTES; fields: <alignment member>): (0x040000de).
 1>MSVCURTD.lib(mstartup.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_SECURITY_ATTRIBUTES): (0x020000d3).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _GUID; fields: <alignment member>): (0x04000036).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_GUID): (0x02000037).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagMSG; fields: <alignment member>): (0x04000037).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagMSG): (0x02000038).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HWND__; fields: <alignment member>): (0x04000038).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HWND__): (0x02000039).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagRECT; fields: <alignment member>): (0x0400003b).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagRECT): (0x0200003b).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HDC__; fields: <alignment member>): (0x0400003c).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HDC__): (0x0200003c).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _SECURITY_ATTRIBUTES; fields: <alignment member>): (0x04000044).
 1>MSVCURTD.lib(dbgdel.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_SECURITY_ATTRIBUTES): (0x0200003d).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _GUID; fields: <alignment member>): (0x04000034).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_GUID): (0x02000035).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagMSG; fields: <alignment member>): (0x04000035).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagMSG): (0x02000036).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HWND__; fields: <alignment member>): (0x04000036).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HWND__): (0x02000037).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagRECT; fields: <alignment member>): (0x04000039).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagRECT): (0x02000039).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HDC__; fields: <alignment member>): (0x0400003a).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HDC__): (0x0200003a).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _SECURITY_ATTRIBUTES; fields: <alignment member>): (0x04000042).
 1>MSVCURTD.lib(delete2.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_SECURITY_ATTRIBUTES): (0x0200003b).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _GUID; fields: <alignment member>): (0x04000033).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_GUID): (0x02000034).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagMSG; fields: <alignment member>): (0x04000035).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagMSG): (0x02000036).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HWND__; fields: <alignment member>): (0x04000036).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HWND__): (0x02000037).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagRECT; fields: <alignment member>): (0x04000039).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagRECT): (0x02000039).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HDC__; fields: <alignment member>): (0x0400003a).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HDC__): (0x0200003a).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _SECURITY_ATTRIBUTES; fields: <alignment member>): (0x04000042).
 1>MSVCURTD.lib(mehvecdtr.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_SECURITY_ATTRIBUTES): (0x0200003b).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _GUID; fields: <alignment member>): (0x04000049).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_GUID): (0x0200005e).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagMSG; fields: <alignment member>): (0x0400004f).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagMSG): (0x02000065).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HWND__; fields: <alignment member>): (0x04000050).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HWND__): (0x02000066).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagRECT; fields: <alignment member>): (0x04000067).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagRECT): (0x02000070).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HDC__; fields: <alignment member>): (0x04000068).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HDC__): (0x02000071).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _SECURITY_ATTRIBUTES; fields: <alignment member>): (0x04000083).
 1>MSVCURTD.lib(xmutex.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_SECURITY_ATTRIBUTES): (0x02000077).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _GUID; fields: <alignment member>): (0x04000033).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_GUID): (0x02000034).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagMSG; fields: <alignment member>): (0x0400003a).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagMSG): (0x0200003b).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HWND__; fields: <alignment member>): (0x0400003b).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HWND__): (0x0200003c).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagRECT; fields: <alignment member>): (0x04000040).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagRECT): (0x02000040).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HDC__; fields: <alignment member>): (0x04000041).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HDC__): (0x02000041).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _SECURITY_ATTRIBUTES; fields: <alignment member>): (0x0400004b).
 1>MSVCURTD.lib(managdeh.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_SECURITY_ATTRIBUTES): (0x02000044).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _GUID; fields: <alignment member>): (0x04000035).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_GUID): (0x02000036).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagMSG; fields: <alignment member>): (0x04000039).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagMSG): (0x0200003a).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HWND__; fields: <alignment member>): (0x0400003a).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HWND__): (0x0200003b).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagRECT; fields: <alignment member>): (0x0400003f).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagRECT): (0x02000040).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HDC__; fields: <alignment member>): (0x04000040).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HDC__): (0x02000041).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _SECURITY_ATTRIBUTES; fields: <alignment member>): (0x0400004c).
 1>MSVCURTD.lib(_tolower.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_SECURITY_ATTRIBUTES): (0x02000046).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _GUID; fields: <alignment member>): (0x04000034).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_GUID): (0x02000035).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagMSG; fields: <alignment member>): (0x04000038).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagMSG): (0x02000039).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HWND__; fields: <alignment member>): (0x04000039).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HWND__): (0x0200003a).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagRECT; fields: <alignment member>): (0x0400003e).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagRECT): (0x0200003f).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: HDC__; fields: <alignment member>): (0x0400003f).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (HDC__): (0x02000040).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _SECURITY_ATTRIBUTES; fields: <alignment member>): (0x0400004b).
 1>MSVCURTD.lib(xwctomb.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_SECURITY_ATTRIBUTES): (0x02000045).
 1>MSVCURTD.lib(_toupper.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: _GUID; fields: <alignment member>): (0x04000034).
 1>MSVCURTD.lib(_toupper.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (_GUID): (0x02000035).
 1>MSVCURTD.lib(_toupper.obj) : error LNK2022: metadata operation failed (80131188) : Inconsistent field declarations in duplicated types (types: tagMSG; fields: <alignment member>): (0x04000037).
 1>MSVCURTD.lib(_toupper.obj) : error LNK2022: metadata operation failed (801311D7) : Differing number of fields in duplicated types (tagMSG): (0x02000038).
 1>LINK : fatal error LNK1255: link failed because of metadata errors

这个项目主要是一个连接到 .dll 的 Windows 窗体 GUI。.dll 是一个单独的 VS2010 项目,已编译和链接良好。

我已经在这个问题上打了两天的头,不知道下一步该往哪里看。

请让我知道任何其他可能有用的细节。

标签: c++winformsvisual-studio-2010clr

解决方案


在项目设置-> 配置属性-> C/C++ -> 代码生成中将结构成员对齐更改为“字节”。

这是因为 64 位不支持 4 字节结构对齐。它至少需要 8 个字节 (8x8 =64)。您可以在设置中更改此选项以解决编译错误。这并不意味着您的程序将正常工作。

在此处输入图像描述


推荐阅读