Referencias DLL en Visual C ++

He tenido experiencia en C ++ pero no en MSVC.

Lo que bash hacer es incorporar un .dll de un proyecto de código abierto a mi proyecto. El código está disponible y lo he creado. Tengo el .dll y el .lib que, según tengo entendido, es obligatorio para los proyectos de C ++.

Ahora, desafortunadamente, no hay un simple “Agregar referencia”, coloque mi .dll en un directorio de inclusión y agréguelo a mi solución. He editado las páginas de propiedades del proyecto, la opción Incluir directorios adicionales de C / C ++ y también agregué .lib como una dependencia adicional del vinculador. He creado un directorio de inclusión para el dll y lib dentro de mi árbol de soluciones.

Mi problema es cuando trato de incluir los archivos de encabezado de la documentación, la salida VS escupe mensajes de error. Ahora me doy cuenta de que estoy usando el combo dll / lib y que los archivos .h no están presentes en mi solución, entonces, ¿cómo puedo agregar los correspondientes? Estoy usando QT toolkit también, que funciona, pero la forma en que agregue el otro encabezado / dll de la biblioteca de código abierto me elude.

Puede alguien indicarme el camino correcto.

Debes hacer un par de cosas para usar la biblioteca:

  1. Asegúrese de tener tanto * .lib como * .dll de la biblioteca que desea usar. Si no tiene el * .lib, omita el # 2

  2. Ponga una referencia al * .lib en el proyecto. Haga clic con el botón derecho en el nombre del proyecto en el Explorador de soluciones y luego seleccione Propiedades de configuración-> Enlazador-> Entrada y ponga el nombre de la lib en la propiedad Dependencias adicionales.

  3. Debe asegurarse de que VS pueda encontrar la lib que acaba de agregar, de modo que debe ir al menú Herramientas y seleccionar Opciones … Luego, en Proyectos y soluciones, seleccione Directorios VC ++ y edite la opción Directorio de bibliotecas. Desde aquí, puede configurar el directorio que contiene su nueva biblioteca seleccionando ‘Archivos de biblioteca’ en el cuadro desplegable ‘Mostrar directorios para:’. Simplemente agregue la ruta a su archivo lib en la lista de directorios. Si no tienes una lib, puedes omitir esto, pero mientras estés aquí también necesitarás establecer el directorio que contiene tus archivos de encabezado en la sección ‘Incluir archivos’. Hazlo de la misma manera que agregaste la lib.

Después de hacer esto, debería estar listo y puede usar su biblioteca. Si no tiene un archivo lib, puede seguir utilizando el dll importándolo usted mismo. Durante el inicio de las aplicaciones, puede cargar explícitamente el dll llamando a LoadLibrary (consulte: http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx para obtener más información).

¡Aclamaciones!

EDITAR

Recuerde usar #include en lugar de #include “foo.h”. El primero busca en la ruta de inclusión. Este último usa los archivos del proyecto local.

Los directorios de inclusión adicionales son relativos al dir del proyecto. Este es normalmente el directorio donde está ubicado su archivo de proyecto, * .vcproj. Supongo que en su caso debe agregar solo “incluir” a sus directorios de inclusión y biblioteca.

Si quiere estar seguro de cuál es su directorio de proyecto, puede verificar el valor de la macro $ (ProjectDir). Para hacerlo, vaya a “C / C ++ -> Incluir directorios adicionales”, presione el botón “…” y en el cuadro de diálogo emergente, presione “Macros >>”.

Menciona agregar el directorio de inclusión adicional (C / C ++ | General) y la dependencia de lib adicional (Linker | Input), pero ¿también ha agregado el directorio de biblioteca adicional (Linker | General)?

Incluir un mensaje de error de muestra también podría ayudar a las personas a responder la pregunta, ya que ni siquiera está claro si el error es durante la comstackción o el enlace.