Ir a contenido

PURCHASE MEMBERSHIP AT A 25% DISCOUNT Apply here

GET 1 MONTH OF MEMBERSHIP BY CHOOSING THE NEW NAME OF OUR COMPANY! Apply here


Photo

Librería Boost en Visual Studio


      
Librería Boost en Visual Studio  TvOTohoLibrería Boost en Visual Studio  TvOToho
Librería Boost en Visual Studio

ZzcarloszZ
#1

ZzcarloszZ
  • ZzcarloszZ
  • administrator
  • Mensajes :
    625
  • Reputación :
    220
  • Points :
    6
  • Registrado :
    2012-08-08
Esta es una librería de código abierto que nos permite extender las capacidades el lenguaje de programación C++, boost puede ser usada en cualquier tipo de proyectos ya sea libres o comerciales ya que se distribuye bajo licencia BSD, en la actualidad cuenta con un gran numero de librerías, incluidas las bibliotecas de álgebra lineal, la generación de números pseudoaleatorios, multihilos, procesamiento de imágenes, expresiones regulares, pruebas unitarias, entre otros.   
Para descargar la biblioteca Boost http://www.boost.org/users/download/

En este enlace encontraremos la versión mas reciente de la biblioteca boost, descargaremos un archivo comprimido, podemos también optar por descargar la versión pre construida pero no será necesario, una ves lo hayamos hecho veremos como usarla en Visual Studio.
Boost en Visual Studio
La mayoría de las bibliotecas Boost están basadas en cabeceras, funciones en línea y plantillas, por lo que no es necesario construirlas para usarlas, sin embargo algunas si lo requieren, estas son algunas de ellas:

    Boost.ChronoBoost.ContextBoost.FilesystemBoost.GraphParallelBoost.IOStreamsBoost.LocaleBoost.MPIBoost.ProgramOptionsBoost.PythonBoost.RegexBoost.SerializationBoost.SignalsBoost.SystemBoost.ThreadBoost.TimerBoost.Wave

Para información mas detallada visitar la documentación oficial [You must be registered and logged in to see this link.]
Veamos como usar las bibliotecas boost que no requieren ser construidas:
Primero como siempre creamos nuestro proyecto C/C++ en visual studio, elegiré una aplicación C++ de consola, en las opciones indicare que deseo crear un proyecto vacío, de este modo:
[You must be registered and logged in to see this image.]
Una vez tengamos el proyecto creado solo haremos una configuración, el archivo que comprimido que hemos descargado con la biblioteca boost lo descomprimiremos en una carpeta en donde lo deseemos, hecho esto vamos al menú principal PROYECTO / Propiedades, en la opción directorios de inclusión adicionales indicaremos la carpeta en donde descomprimimos boost.
[You must be registered and logged in to see this image.]
Con esto ya podremos trabajar con la librería boost, siempre y cuando no usemos ninguna librería que requiera construcción, para probar la configuración veamos un pequeño ejemplo de lo que podemos hacer con boost.
Calcular el valor hash de una cadena:


//+++++ Tutor de Programacion +++++++++
//Ejemplo de Uso de la biblioteca Boost
//Calcular el Valor hash de una cadena.

[ide="c_cpp"]
#include <iostream>
#include "boost\functional\hash.hpp"

void main()
{
boost::hash<std::string> string_hash;
std::cout << "Hash de cadena: "
<< string_hash("Tutor de Programacion") << std::endl;
std::cin.ignore();
}
[/ide]

Construcción de la Biblioteca Boost para Visual Studio



Como ya hemos mencionado algunas librerías requieren construcción antes de ser utilizadas por ejemplo si intentamos usar expresiones regulares a la hora de la compilación de este código, veremos el correspondiente error:
//+++++ Tutor de Programacion +++++++++
//Ejemplo de Uso de la biblioteca Boost
//Uso de Expresiones Regulares

[ide="c_cpp"]
#include <iostream>
#include <string>
#include "boost/regex.hpp"

using std::string;
using std::cout;
using std::endl;

void main()
{
boost::regex expres​sion("J.*\\d[0-35-9]-\\d\\d-\\d\\d");

string string1 = "Jane's Birthday is 05-12-75\n"
"Dave's Birthday is 11-04-68\n"
"John's Birthday is 04-28-73\n"
"Joe's Birthday is 12-17-77";

boost::smatch match;

while (boost::regex_search(string1, match, expression,
boost::match_not_dot_newline))
{
cout << match << endl;
string1 = match.suffix();
}

std::cin.ignore();
}
[/ide]

Error    1    error LNK1104: no se puede abrir el archivo
'libboost_regex-vc120-mt-gd-1_55.lib'   
C:\Users\Carmelo\Documents\Visual Studio
2013\ProjectsC++\UsoBoost\UsoBoost\LINK    UsoBoost





Esto nos indica que necesitamos construir esta librería, veamos como se hace, el proceso muestra como hacer la construcción para todas las librerías incluidas boost.

Compilación de la Librería Boost 1.55



1. Localizamos la capeta donde descomprimimos la librería, abrimos una ventana de comandos en esa carpeta o abrimos la ventana de comandos (cmd) y navegamos a la carpeta mediante el comando cd, si usamos Windows 8 abrimos la carpeta, vamos al menú principal de la carpeta: Archivo / Abrir símbolo de sistema
[You must be registered and logged in to see this image.]

2. Ahora escribimos el siguiente comando: bootstrap ; Esperamos a que termine de hacer su trabajo, cuando termine nos mostrara el mensaje:
[You must be registered and logged in to see this image.]
3. El siguiente comando a ejecutar es: .\b2 ; Este iniciara el proceso de construcción, tardara un poco, debemos espera a que termine.

4. Luego de un par de minutos cuando la construcción haya terminado, procedemos con el ultimo comando, este creara la carpeta C:\Boost en donde se almacenaran los archivos que acabamos de crear. Ejecutamos el comando: b2 install ; Esperamos a que termine, tardara algunos minutos.

5. Si hemos hecho todo bien tendremos la carpeta Boost en el disco C:\ que contiene las carpetas en donde se encuentran los archivos de encabezado y la librerías compiladas.

Configurar Visual Studio para usar Boost



Para poder usar el código que usa expresiones regulares u otras librerías de boost que requieren construcción, vamos a configurar visual studio para usar las librerías que acabamos de construir.

Primero indicamos donde buscar los archivos de inclusión adicionales como lo hicimos anteriormente solo que esta vez usaremos los archivos de la carpeta C:\Boost que acabamos de crear:
[You must be registered and logged in to see this image.]
Segundo en esta misma ventana de propiedades, vamos a indicar donde buscar los archivos .lib:
[You must be registered and logged in to see this image.]
Con esto ya podremos usar la librería boost con todas sus funcionalidades, ya podemos compilar el código que anteriormente producía error.

La carpeta donde descomprimimos la librería boost inicialmente ya la podemos eliminar, salvo que necesitemos la documentación o la deseemos tener como referencia.

#Edit: Seyer
#Motivo: no está permitido el uso de colores en comentarios y/o títulos.

      

Create an account or log in to leave a reply

You need to be a member in order to leave a reply.

Create an account

Join our community by creating a new account. It's easy!


Create a new account

Log in

Already have an account? No problem, log in here.


Log in
You cannot reply to topics in this forum
Staff online
Sponsors
  •  TOTAL POSTS
  •  TOTAL MEMBERS
  •  NEWEST MEMBER