2011-06-19 23 views
34

Tengo .lib archivo compilado a partir del código C. ¿Cómo sé si se necesitará esta biblioteca autónoma estática o solo una lib de importación y una DLL en tiempo de ejecución? ¿Hay alguna opción de dumpbin que me falta?saber si .lib es estático o importar

+0

Pregunta extraña. Si no tienes el DLL, entonces solo puedes cruzar los dedos. –

+2

Normalmente, leería la documentación. Si no tiene documentación y no conoce la procedencia de .lib, debe pensar dos veces antes de usarla. –

+3

Lamentablemente, muchas bibliotecas vienen con archivos "iniciados" o "léame" que están desactualizados, y una misteriosa opción oculta para configurar si está generando estática o dinámica. Esto empeora cuando ni siquiera es una biblioteca que quiero, pero sí una biblioteca que quiero. – AndrewS

Respuesta

51

Utilice el comando lib. Si es estático, lib te mostrará una pila de archivos .obj dentro. No es así si es am implib.

lib /list foo.lib 

lo hará.

Véase también:

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

+1

¿puede sugerir qué opción (es) dar 'lib' para realizar esto? No puedo entender desde su doc. – zaharpopov

+0

genial, ¡muchas gracias! – zaharpopov

+0

@zaharpopov Los documentos de MSDN se han renovado desde el lanzamiento de Windows 8.1. Por favor, compruebe. –

4

Look en sus ficheros de cabecera que acompañan, si la función está 'decorado' con __declspec(dllimport) que es una biblioteca de importación. O busque un archivo .def adjunto, que también le indique que es una biblioteca de importación.

Cuestiones relacionadas