Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.

Compiler Warning (level 4) C4336

Error Message

import cross-referenced type library 'type_lib1' before importing 'type_lib1'

A type library was referenced with the #import directive. However, the type library contained a reference to another type library that was not referenced with #import. This other .tlb file was found by the compiler.

Given two type libraries on disk created from the following two files (compiled with midl.exe):

// c4336a.idl
library c4336aLib
   enum E_C4336
      one, two, three

The second type library:

// c4336b.idl
library C4336bLib
   importlib ("c4336a.tlb");
   struct S_C4336
      enum E_C4336 e;

The following sample generates C4336:

// C4336.cpp
// compile with: /W4 /LD
// #import "C4336a.tlb"
#import "C4336b.tlb"   // C4336, uncomment previous line to resolve

Community Additions

© 2015 Microsoft