Visual C++ 9 COM 구성 요소 프로젝트 집합이 서로 종속되어 있습니다.형식 라이브러리가 등록되어있는 경우에도 C4772가 표시됩니다.
ComponentA는 ComponentA.tlb
에 형식 라이브러리를 게시합니다. ComponentB는 ComponentA.tlb
을 ComponentB.idl
으로 가져오고 ComponentB.tlb
을 게시합니다. ComponentB.idl
의 메소드 서명에는 ComponentA.tlb
에 정의 된 유형의 매개 변수가 들어 있습니다. ComponentA 및 ComponentB 프로젝트 모두 올바르게 컴파일됩니다. stdafx.h
에
#import
S
ComponentA.tlb
모두
및 ComponentB.tlb
-이 갑자기 이상
error C4772: #import referenced a type from a missing type library;
과 함께 ComponentA.tlb
에서 정의한 형식을 사용 랩퍼
error C2440: 'return' : cannot convert from '__missing_type__ *' to '__missing_type__'
세트 실패. 일반적으로 ComponentA.tlb
이 등록되지 않았지만 regtlib
을 실행하고 regedit에 등록되어 있는지 확인합니다. ComponentA.tlb
은 레지스트리에 지정된 경로에 정확히 존재합니다.
문제의 근원은 무엇이며 문제가 어떻게 해결 될 수 있습니까?
진행 상황 sharptooth? –
@Matt Howells : Yeap, 상기시켜 줘서 고마워. 나는 나의 발견을 답으로 추가했다. – sharptooth