Delen via


Compilerwaarschuwing (niveau 1) C4772

#import verwijst naar een type uit een ontbrekende typebibliotheek; 'ontbrekend type' dat wordt gebruikt als tijdelijke aanduiding

Opmerkingen

Er is naar een typebibliotheek verwezen met de #import-instructie . De typebibliotheek bevat echter een verwijzing naar een andere typebibliotheek waarnaar niet wordt verwezen #import. Dit andere .tlb-bestand is niet gevonden door de compiler.

Houd er rekening mee dat de compiler geen typebibliotheken in verschillende mappen vindt als u de compileroptie /I (Aanvullende inclusief mappen) gebruikt om deze mappen op te geven. Als u wilt dat de compiler typebibliotheken in verschillende mappen vindt, voegt u deze mappen toe aan de omgevingsvariabele PATH.

Deze waarschuwing wordt standaard weergegeven als een fout. C4772 kan niet worden onderdrukt met /W0.

Example

Dit is de eerste typebibliotheek die nodig is om C4772 te reproduceren.

// c4772a.idl
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12b")]
library C4772aLib
{
   [uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c100")]
   enum E_C4772a
   {
      one, two, three
   };
};

Dit is de tweede typebibliotheek die nodig is om C4772 te reproduceren.

// c4772b.idl
// post-build command: del /f C4772a.tlb
// C4772a.tlb is available when c4772b.tlb is built
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12d")]
library C4772bLib
{
   importlib ("c4772a.tlb");
   [uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12e")]
   struct S_C4772b
   {
      enum E_C4772a e;
   };
};

In het volgende voorbeeld wordt C4772 gegenereerd:

// C4772.cpp
// assumes that C4772a.tlb is not available to the compiler
// #import "C4772a.tlb"
#import "C4772b.tlb"   // C4772 uncomment previous line to resolve
                       // and make sure c4772a.tlb is on disk