Condividi tramite


Errore del compilatore C3510

impossibile individuare la libreria dei tipi dipendenti 'type_lib'

no_registry e auto_search sono stati passati a #import ma il compilatore non è riuscito a trovare una libreria dei tipi a cui si fa riferimento.

Per risolvere questo errore, assicurarsi che tutte le librerie dei tipi e le librerie dei tipi a cui si fa riferimento siano disponibili per il compilatore.

L'esempio seguente genera l'errore C3510:

Si supponga che siano state compilate le due librerie di tipi seguenti e che C3510a.tlb sia stato eliminato o meno nel percorso.

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

E quindi il codice sorgente per la seconda libreria dei tipi:

// C3510b.idl
// post-build command: del /f C3510a.tlb
[uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12e")]
library C3510bLib
{
   importlib ("C3510a.tlb");
   [uuid("f87070ba-c6d9-405c-a8e4-8cd9ca25c12d")]
   struct S_C3510 {
      enum E_C3510 e;
   };
};

E quindi il codice client:

// C3510.cpp
#import "c3510b.tlb" no_registry auto_search   // C3510
int main() {
   C3510aLib::S_C4336 ccc;
}