Compilerwarnung (Stufe 4) C4336
Aktualisiert: November 2007
Fehlermeldung
Importieren Sie zuerst die übergreifende Typbibliothek 'Typbibliothek1', bevor Sie 'Typbibliothek2' importieren
import cross-referenced type library 'type_lib1' before importing 'type_lib1'
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 gefunden.
Angenommen, Sie verfügen über zwei auf einem Datenträger gespeicherte Typbibliotheken, die aus den folgenden beiden (mit midl.exe kompilierten) Dateien erstellt wurden:
// c4336a.idl
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12b")]
library c4336aLib
{
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12c")]
enum E_C4336
{
one, two, three
};
};
Die zweite Typbibliothek:
// c4336b.idl
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12d")]
library C4336bLib
{
importlib ("c4336a.tlb");
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12e")]
struct S_C4336
{
enum E_C4336 e;
};
};
Im folgenden Beispiel wird C4336 generiert:
// C4336.cpp
// compile with: /W4 /LD
// #import "C4336a.tlb"
#import "C4336b.tlb" // C4336, uncomment previous line to resolve