Aracılığıyla paylaş


Derleyici Uyarısı (düzey 4) C4336

'type_lib2' içeri aktarmadan önce çapraz başvurulu 'type_lib1' tür kitaplığını içeri aktarma

#import yönergesiyle bir tür kitaplığına başvuruldu. Ancak, tür kitaplığı ile #importbaşvurulmayan başka bir tür kitaplığına başvuru içeriyordu. Bu diğer .tlb dosyası derleyici tarafından bulundu.

Diskte aşağıdaki iki dosyadan oluşturulan (midl.exe ile derlenmiş) iki tür kitaplık verildi:

// c4336a.idl
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12b")]
library c4336aLib
{
   [uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12c")]
   enum E_C4336
   {
      one, two, three
   };
};

İkinci tür kitaplığı:

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

Aşağıdaki örnek C4336 oluşturur:

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