I have a set of Visual C ++ 9 COM component projects that are dependent on each other.
ComponentA publishes its typelib at ComponentA.tlb. ComponentB imports ComponentA.tlbinto ComponentB.idland publishes ComponentB.tlb. Signature methods in ComponentB.idlcontain parameters of types defined in ComponentA.tlb. ComponentA and ComponentB projects compiled.
ComponentC #importboth ComponentA.tlb, and ComponentB.tlbin stdafx.h- it will unexpectedly fail with
error C4772:
and then set
error C2440: 'return' : cannot convert from '__missing_type__ *' to '__missing_type__'
for wrappers using the types defined in ComponentA.tlb. This usually happens when it is ComponentA.tlbnot registered, but I'm sure I start it regtliband see in regedit that it is registered. ComponentA.tlbis present exactly on the path specified in the registry.
What is the source of the problem and how can I solve the problem?
source
share