¿Cómo puedo agregar dll en Visual Studio 2010?
Simplemente no puedo encontrar la opción allí.
Gracias.Vinculación de dll en Visual Studio
Respuesta
En Windows no se vincula directamente con un archivo .dll
– debe utilizar el archivo .lib
que lo acompaña. Para hacerlo, vaya a Project -> Properties -> Configuration Properties -> Linker -> Additional Dependencies
y agregue la ruta a su .lib como una línea siguiente.
También debe asegurarse de que el archivo es .dll
ya sea en el directorio contenida por la variable de entorno de %PATH%
o que su copia está en Output Directory
(por defecto, esto es Debug\Release
de la carpeta del proyecto).
Si usted no tiene acceso al archivo .lib
, una alternativa es cargar la .dll
manualmente en tiempo de ejecución utilizando las funciones API de Windows como LoadLibrary y GetProcAddress.
No agrega ni vincula directamente en contra de un archivo DLL, lo vincula con el LIB producido por el archivo DLL.
Una LIB proporciona símbolos y otros datos necesarios para incluir una biblioteca en su código (enlace estático) o consultar la DLL (enlace dinámico).
Para enlazar con un LIB, debe agregarlo al proyecto Propiedades -> Enlazador -> Entrada -> Lista de dependencias adicionales. Todos los archivos LIB aquí se usarán para vincular. También puede utilizar un pragma así:
#pragma comment(lib, "dll.lib")
Con la vinculación estática, el código se incluye en el ejecutable y no hay dependencias de tiempo de ejecución. La vinculación dinámica requiere una DLL con el nombre y los símbolos correspondientes que estén disponibles dentro de the search path (que es no solo la ruta o el directorio del sistema).
Acerca de la vinculación estática: ¿Cómo puedo hacer que Visual Studio copie el dll de un directorio determinado a la salida en la construcción (o en el enlace)? – Marcel
@Marcel Cada proyecto proporciona precompilación, postconstrucción y una variedad de otros pasos (verifique en la configuración del proyecto). Puede hacer una copia de archivo allí, o incluso ejecutar un script completo (tengo un script configurado para crear un encabezado de los ID de revisión de git e incrementar el número de compilación en preconstrucción, luego copie los archivos a una instalación de prueba en una publicación). – ssube
- 1. Usando .dll en Visual Studio 2010 C++
- 2. Vinculación débil de estilo GCC en Visual Studio?
- 3. Visual Studio 11 y manejo msvcr110.dll
- 4. Visual Studio: DLL diferentes para configuraciones
- 5. Problema de Vinculación de Visual Studio con Cuda
- 6. C++ Visual Studio: vinculación usando el comentario de pragma
- 7. Biblioteca de depuración y liberación Vinculación con CMAKE (VISUAL STUDIO)
- 8. Depuración de una DLL de terceros en Visual Studio?
- 9. C# Solución de Visual Studio en un dll
- 10. ¿Puedo incluir dll en exe (en Visual Studio)?
- 11. ¿Genera automáticamente un archivo DLL .DEF en Visual Studio?
- 12. ¿Cómo se crea una DLL COM en Visual Studio 2008?
- 13. Visual Studio: DLL dependientes de copia de destino de carpeta
- 14. herramientas de Microsoft Visual Studio Test UITest DLL
- 15. Vinculación a la DLL de MSVC desde MinGW
- 16. Vinculación implícita con explícita a una DLL
- 17. ¿Por qué no puede Visual Studio encontrar mi DLL?
- 18. visual studio 2010 no se puede iniciar el programa .dll
- 19. Cómo crear una DLL con SWIG desde Visual Studio 2010
- 20. advertencia C4275 en Visual Studio
- 21. Vinculación con la biblioteca en versión y .exe en errores de depuración en Visual Studio
- 22. Visual Studio cargando el dll derecho (x86 o x64)!
- 23. Agregando controles personalizados dll a Visual Studio ToolBox
- 24. ¿Proyecto de referencia "readonly" en Visual Studio?
- 25. Proyecto Visual Studio 2010 C++ DLL - ¡Sin archivo DLL de salida!
- 26. Vinculación a la biblioteca de importación de Python en Visual Studio 2005
- 27. Configuración de Kyoto Cabinet en Visual Studio
- 28. Cómo crear DLL ActiveX en Visual C++
- 29. visual studio copy local
- 30. Referencias DLL en Visual C++
He visto lugares donde mencionan los archivos .h también. ¿Los necesitamos para este proceso? Creo que no son necesarios, ya que el archivo .lib contiene toda la información para el dll. – darkgaze
@darkgaze Creo que todavía se necesitan porque los archivos .h generalmente contienen todos los prototipos, declaraciones, constantes, macros, etc. –