Bibliotecas externas (VS, C++)

TEORÍA

Hay varias formas de utilizar bibliotecas externas en un proyecto de Visual Studio para C++, principalmente se utilizan: DLL (dynamic link library), LIB (archivos .lib, librerías) y Headers (archivos .h o .hpp)

Para utilizar cada uno de estos elementos se hace uso del menú de propiedades de nuestro proyecto, que, en Visual Studio, se encuentra en el panel derecho (Solution Explorer) bajo el nodo raíz de la «solución» (Solution) que contiene uno o varios proyectos. Abrir el menú contextual del proyecto concreto permite acceder a sus propiedades:

PRÁCTICA

Dynamic Link Libraries (DLL’s)

Archivos binarios que, habitualmente, vienen acompañados con un archivo «.lib» (librería) para que puedan utilizarse sus métodos, funciones, variables, etc desde código C++. Si no vienen con un archivo «.lib», es posible que estas DLL’s se tengan que utilizar mediante objetos COM (Component Object Model).

Para que el archivo ejecutable (.exe) que se ha compilado haga uso de las DLL’s hay dos opciones:

1.- Copiar las DLL’s en la carpeta de System32 o SysWow64 (dependiendo de si están preparadas para 32 o 64 bits).

2.- Copiar las DLL’s en la misma carpeta donde se ha generado el archivo «.exe».

Libraries (LIB’s)

Los archivos «.lib» son la puerta de entrada que se necesita para que C++ sepa qué métodos, objetos, etc hay declarados (y cómo están declarados) en una DLL.

Para utilizarlos en un proyecto hay que indicar que existe una carpeta con más archivos «.lib» donde debe buscar el IDE de Visual Studio e indicarle expresamente qué librerías se necesitan:

1.- Indicar carpeta extra de libraries

En las propiedades del proyecto:

Configuration Properties
  Linker
    General 
      Additional Library Directories

Aquí se añade el path a la carpeta que contiene nuevas librerías. Normalmente será la carpeta llamada «lib» de la biblioteca que se quiere importar.

2.- Indicar las libraries a utilizar

En las propiedades del proyecto:

Configuration Properties 
  Linker 
    Input 
      Additional Dependencies

Aquí se añade el nombre entero del archivo «.lib» a usar.

Headers (.H, .HPP)

Son archivos que contienen las declaraciones (y puede que también la implementación) de objetos, funciones y variables que usará la biblioteca a utilizar. Estos son los archivos que se utilizan en la sentencia «#include«.

Normalmente estos archivos vienen en la carpeta «include» de la biblioteca a utilizar. Para indicarle a VS el path a dicha carpeta se añade en las propiedades del proyecto:

Configuration Properties 
  C/C++ 
    General 
      Additional Include Directories

Deja un comentario