Compilerwarnung (Stufe 1) C4772

Aktualisiert: November 2007

Fehlermeldung

Mit #import wurde auf einen Typ aus einer fehlenden Typbibliothek verwiesen; 'fehlender_Typ' als Platzhalter verwendet
#import referenced a type from a missing type library; 'missing_type' used as a placeholder

Auf eine Typbibliothek wurde mit der #import-Direktive verwiesen. Die Typbibliothek enthielt jedoch einen Verweis auf eine andere Typbibliothek, auf die nicht mit #import verwiesen wurde. Diese andere TLB-Datei wurde vom Compiler nicht gefunden.

Beachten Sie, dass der Compiler keine Typbibliotheken in unterschiedlichen Verzeichnissen findet, wenn Sie die Compileroption /I (Zusätzliche Includeverzeichnisse) für die Angabe dieser Verzeichnisse verwenden. Damit der Compiler Typbibliotheken in unterschiedlichen Verzeichnissen findet, fügen Sie diese in der Umgebungsvariablen PATH hinzu.

Diese Warnung wird standardmäßig als Fehler ausgegeben. C4772 kann nicht mit /W0 unterdrückt werden.

Dies ist die erste Typbibliothek, die zum Reproduzieren von C4772 benötigt wird.

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

Dies ist die zweite Typbibliothek, die zum Reproduzieren von C4772 benötigt wird.

// 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;
   };
};

Im folgenden Beispiel wird C4772 generiert:

// 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

Community-Beiträge

Anzeigen: