Erreur du compilateur C3510

impossible de localiser la bibliothèque de types dépendante ' type_lib'

no_registry et auto_search ont été transmis, #import mais le compilateur n’a pas pu trouver une bibliothèque de types référencée.

Pour résoudre cette erreur, vérifiez que toutes les bibliothèques de types et bibliothèques de types référencées sont disponibles pour le compilateur.

L’exemple suivant génère l’erreur C3510 :

Supposons que les deux bibliothèques de types suivantes ont été générées et que C3510a.tlb a été supprimé ou non sur le chemin d’accès.

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

Puis le code source de la deuxième bibliothèque de types :

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

Puis le code client :

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