una - Agregar mi DLL a un proyecto de Visual Studio en C++
renombrar proyecto visual studio 2015 (2)
Estoy trabajando en un proyecto que implica crear una biblioteca de enlaces dinámicos, por lo que quiero probarlo en una aplicación de consola en Visual Studio.
La DLL también se hace en Visual Studio, no tiene mucho, solo unas pocas funciones. No estoy seguro de si se supone que debo incluir el encabezado de las bibliotecas en el panel de directorios de inclusión en Propiedades , o hacer otra cosa
Mucha gente dice que se supone que debo agregar su correspondiente archivo .lib
en el directorio Biblioteca o Referencia, pero no estoy seguro de que VS genere un archivo .lib
junto con el DLL. Estoy usando VS 2015.
No tengo VS delante de mí en este momento, pero estos deberían ser los pasos generales para configurarlo:
Properties->Linker->Input: your.lib
Properties->Linker->Additional Library Directories: ../your/bin
Properties->General->Compiler->Additional Include Directories: ../your/include
Para compilar su aplicación, los encabezados de la API del DLL deben estar en el include para el tiempo de compilación, son los archivos LIB en el bin para el tiempo del enlace. Una vez que tenga su aplicación EXE, todo lo que necesita es que la DLL esté en la misma carpeta que su EXE cuando se ejecuta.
También es posible que desee agregar el proyecto dll y el proyecto de la aplicación a una solución común en VS y agregar (haga clic con el botón derecho) Dependencia del proyecto de la aplicación a la dll. Esto garantiza el orden correcto de construcción, suponiendo que va a construir el dll en absoluto.
También puedes hacer lo que hice.
- Puede crear un directorio
Libs
dentro de su directorio de Soluciones. A continuación, puede colocar sus archivos .DLL dentro del directorio
Libs
o algún subdirectorio dentro deLibs
- En mi caso, agregué todo el directorio
SFML-2.3.2
allí, que incluía el código fuente, los archivos .lib y los archivos .dll. - Conecté lo que pude en las propiedades del proyecto, pero utilicé las macros de Visual Studio para completar el nombre de la ruta al directorio de la Solución. En caso de que quisiera poner esto en control de versiones y trabajar desde múltiples máquinas.
- En mi caso, agregué todo el directorio
Luego abrí la Página de propiedades del proyecto.
- Dentro de la página de propiedades, fui a Build Events -> Post-Build Event -> Command Line
- Dentro de la línea de comandos , puede agregar un comando de copia que copiará los archivos necesarios en el mismo directorio que el ejecutable que los necesitará.
- En mi caso utilicé:
copy "$(SolutionDir)Libs/SFML-2.3.2/bin/*" "$(TargetDir)"
- Pude haber escrito varios comandos para copiar solo los archivos individuales que necesitaba, pero había pasado tres horas intentando que SFML funcionara sin instalarlo realmente.
- En mi caso utilicé: