savoir si .lib est statique ou import

J’ai un fichier .lib compilé à partir du code C. Comment savoir si cette bibliothèque statique autonome ou simplement une lib import et une DLL seront nécessaires à l’exécution? Y a-t-il une option de dumpbin me manque?

Utilisez la commande lib. Si c’est statique, lib affichera une stack de fichiers .obj à l’intérieur. Pas si c’est implib.

 lib /list foo.lib 

le fera.

Regarde aussi:

http://msdn.microsoft.com/en-us/library/e17b885t(v=vs.80).aspx

Regardez dans les fichiers d’en-tête qui l’accompagnent, si la fonction est “décorée” avec __declspec(dllimport) qu’il s’agit d’une bibliothèque d’importation. Ou recherchez un fichier .def associé, qui vous indique également qu’il s’agit d’une bibliothèque d’importation.