2011-03-17 15 views
8

Soy nuevo en Windows y Visual Studio. Tengo que compilar un código escrito en C++. Utiliza diferentes bibliotecas. Encontré los archivos dll para esas bibliotecas. Puedo compilar la fuente sin ningún problema, pero hay problemas de enlace. No sé cómo vincular archivos dll. Entendí que necesito archivos .lib para eso. Pero algunas de las bibliotecas requeridas no tienen ningún archivo lib proporcionado. Solo hay archivos dll y archivos dif. ¿Cómo puedo generar los archivos lib requeridos usando Visual Studio 2010 ultimate? No puedo encontrar un programa llamado lib.exe. Gracias.lib.exe, Visual Studio, generación de archivos .lib de archivos dll y def

Respuesta

14

De hecho necesitará lib.exe para convertir el archivo .def en un archivo .lib que el enlazador necesita. Se almacena en el directorio vc \ bin del directorio de Visual Studio, C: \ Archivos de programa \ Microsoft Visual Studio 10.0 \ VC \ bin \ lib.exe de forma predeterminada. La forma más fácil es utilizar el "Símbolo del sistema de Visual Studio", lo encontrará en el menú Inicio, Microsoft Visual Studio 2010, Visual Studio Tools.

A continuación, ejecute lib.exe con la opción /def:foo.def para generar .lib. Siga las instrucciones del vendedor, si se proporcionan. Y no dude en contactarlos para obtener asistencia.

2

Esto requiere mucho trabajo, y por lo general es más fácil buscar el origen y/o libs para la DLL que necesita, ya que es una buena idea compilar ambas bibliotecas y su programa con el mismo compilador (Implementa más fácil, por lo que no depende de múltiples tiempos de ejecución de vc).

Se puede utilizar esta guía para crear los archivos .lib: http://support.microsoft.com/kb/131313

Es un proceso que lleva tiempo, así como una gran cantidad de depuración (Dependiendo del tamaño de la de la DLL, así como la complejidad de las interfaces de la DLL)

Dependiendo de la plataforma, la ubicación es por lo general:

  • Windows 7 de 32 bits con VS2010 de 32 bits:

    C: \ Archivos de programa \ Microsoft Visual Studio 10.0 \ VC \ bin \

  • Windows 7 de 64 bits con 64 bits VS2010:

    C: \ Archivos de programa \ Microsoft Visual Studio 10.0 \ VC \ bin `

  • Windows 7 de 64 bits con VS2010 de 32 bits:

    C: \ archivos de programa (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \

Ho sin embargo, si inicia el símbolo del sistema de Visual Studio, debe estar en su ruta. (Busque en Visual Studio Tools en su menú de inicio)

2

Si va a las propiedades del proyecto para la DLL y marca Linker -> Advanced, hay una entrada para 'Import Library'. Es posible que tenga que configurarlo para generar un archivo lib mientras compila el archivo DLL o, si ya está configurado, debe indicarle la ubicación del archivo lib.

Dicho esto, si construye todo el proyecto utilizando Visual Studio 2010, agregar las bibliotecas dependientes en la sección de Referencia de Propiedades comunes del proyecto debería desencadenar automáticamente las instrucciones de enlace necesarias.

Cuestiones relacionadas