Compartir a través de


Error del compilador C3510

no se puede encontrar la biblioteca de tipos dependientes "type_lib"

no_registry y auto_search se pasaron a #import, pero el compilador no pudo encontrar una biblioteca de tipos a los que se hace referencia.

A fin de resolver este error, asegúrese de que todas las bibliotecas de tipos y las bibliotecas de tipos a los que se hace referencia están disponibles para el compilador.

En el ejemplo siguiente se genera C3510:

Supongamos que se crearon las dos bibliotecas de tipos siguientes y que C3510a.tlb se eliminó, o no, en la ruta de acceso.

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

Y, después, el código fuente de la segunda biblioteca de tipos:

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

Y luego el código de cliente:

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