2009-05-06 7 views
0

프로젝트를 공용 언어 런타임으로 컴파일하려고하는데 디버그 빌드를 만들려고 할 때 갑자기 다음 연결 오류가 발생합니다. :VS2005의 링크 과정에서 메타 데이터 병합시 파일 무시

Main.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (IDirect3DVertexShader9): (0x0200056e). 

Main.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (IDirect3DVertexDeclaration9): (0x0200056f). 

Main.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (IDirect3DDevice9): (0x02000a2a). 

Main.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (IDirect3DSwapChain9): (0x02000ab0). 

Main.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (IDirect3DIndexBuffer9): (0x02000ace). 

Main.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (IDirect3DVertexBuffer9): (0x02000b4e). 

Main.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (IDirect3DTexture9): (0x02000bbd). 

Main.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (IDirect3D9): (0x02000c0e). 

LINK : fatal error LNK1255: link failed because of metadata errors 

전체 솔루션을 다시 작성했지만 여전히 동일한 오류가 표시됩니다. 아무도 내가이 일을 일으킬 수있는 것을 알고 있다면 알고 싶습니다. 내가 볼 수있는 유일한 해결책은 중복 된 유형에 대한 디버깅 정보를 빌드하지 않도록 디버거에 알리는 것입니다. 유일한 문제는이 작업을 수행하는 방법을 모른다는 것입니다 (또는 실제로 가능할지라도). 누군가가 알면 도움을 주시면 감사하겠습니다.

모든 도움을 주셔서 미리 감사드립니다.

다니엘 아워

답변

1

당신이 IDirect3D이든 라이브러리의 여러 버전을 havce합니까? 예를 들어, 두 개의 모듈, 미리 빌드 된 DLL (알 수없는 버전 IDirect에 대한 종속성이 있음) 및 빌드 한 모듈이 있고 해당 라이브러리의 최신 버전이 있다고 가정 해 보겠습니다. 그건 당신에게 그런 실수를 줄 수 있습니다. 나는이 조합이 생각

// one.h 
class CMyNewClass; 

// two.h 
class CMyNewClass 
{ 
//... 
}; 

//main.cpp 
#include "one.h" 
#include "two.h" 
//... 

: 당신이 앞으로 C++/CLI에서 클래스를 선언하는 경우 I이 오류가 왔 LNK 2022

0

에 대한

참조 MSDN의 documentaion 후 다른 곳에서 전체 선언을 읽어 하나는이 문제를 일으키는 것이지만 지금 당장 Visual Studio를 두 번 확인하지 않아도됩니다.