Primeros pasos con impulso

Instalación o configuración

Consulte Primeros pasos de Boost.

La mayoría de las bibliotecas de Boost son solo de encabezado, lo que significa que no hay nada que compilar o vincular.

Asegúrese de obtener la versión más reciente de Boost:

  1. Visite www.boost.org
  2. Busque la descarga de la versión actual. Actualmente, este enlace aquí. Muestra en qué parte del sitio web de boost puede descargar Boost
  3. Seleccione el archivo de almacenamiento apropiado para su sistema operativo y descárguelo.

Las bibliotecas de solo encabezado se pueden usar simplemente incluyendo los archivos de encabezado respectivos.

Algunas bibliotecas de Boost requieren compilación:

  • Boost.Crono
  • Impulso.Contexto
  • Boost. Sistema de archivos
  • Boost.GraphParallel
  • Boost.IOStreams
  • Boost.Locale
  • Boost.MPI
  • Boost.ProgramOptions
  • Boost.Python
  • Boost. Regex
  • Boost.Serialización
  • Boost.Señales
  • Boost.Sistema
  • Boost.Hilo
  • Temporizador de impulso
  • Boost Wave

Además, las siguientes bibliotecas tienen componentes que deben compilarse:

  • Boost.DateTime
  • Boost.Gráfico
  • Boost.Math
  • Boost.Random
  • Boost.Prueba
  • Boost.Excepción

La fuente de Boost se puede obtener a través del [enlace de descarga en el sitio] (http://www.boost.org/users/download/), que redirigirá a su [página de SourceForge] (https://sourceforge .net/projects/boost/files/boost/) para la última versión (1.61.0 a partir de julio de 2016). Esto se puede descomprimir (o descomprimir, etc.) en un directorio (como C:\local\boost_1_61_0). Este directorio se puede agregar a la ruta de inclusión del software que está creando. Después de esto, puede incluir encabezados Boost en archivos C++ con #include <boost/header/path.hpp>.

La mayoría de las bibliotecas en Boost son solo de encabezado. Si solo necesita estos, entonces la distribución de origen anterior es todo lo que necesita. Sin embargo, si necesita usar una de las bibliotecas que requiere que se construya un binario compilado, también lo necesitará.

En cualquier sistema, la forma más confiable de obtener los binarios correctos es construirlos usted mismo. Estas instrucciones son algo diferentes para Windows o Linux/Unix/POSIX.

En Windows con Visual Studio, una alternativa para construir las bibliotecas usted mismo es descargar bibliotecas preconstruidas de [la página de SourceForge de Boost] (https://sourceforge.net/projects/boost/files/boost-binaries/) (1.61. 0 a partir de julio de 2016). En esa página, puede seleccionar un instalador que instalará una versión para una compilación específica de Visual Studio o el archivo 7-zip (boost_X_XX_X-bin-all-32-64.7z) que contiene los archivos binarios para todas las versiones compatibles de Visual Studio. Cualquiera de estas opciones incluye la fuente/encabezados, así como los binarios, por lo que no es necesario haber descargado la distribución fuente anterior. Una vez que lo tenga, extraiga/instale en un directorio (como C:\local\boost_1_61_0) y agregue ese directorio a su ruta de inclusión, luego agregue el directorio que contiene los archivos binarios que corresponden a su versión de Visual Studio (por ejemplo, C:\ local\boost_1_61_0\lib32-msvc-12.0 para proyectos de Visual Studio 2013 de 32 bits) a la ruta de la biblioteca.

Instalación y ejecución de Boost (Cygwin)

(Nivel principiante; IDE: CLion)

Primero, instale boost desde el espejo de Cygwin: abra el exe de instalación, busque boost, instale los paquetes.


Después de instalar boost: se ubicará en /usr/include/boost. Aquí es donde está todo. Todas las declaraciones #include serán una ruta desde la carpeta boost, como en: #include <boost/archive/text_oarchive.hpp>.


Una vez que incluya los archivos boost de su elección en sus archivos .cpp, su código aún no se compilará en el IDE de su elección hasta que vincule las bibliotecas y le diga a cmake que busque su código de impulso descargado.


Para que cmake busque su código de impulso,

find_package(Boost 1.60.0 COMPONENTS components_you_want)

# for example: 
find_package(Boost 1.60.0 COMPONENTS serialization)

Luego, incluye los directorios: include_directories(${Boost_INCLUDE_DIRS})

Finalmente, agregue su ejecutable y vincule las bibliotecas:

add_executable(your_target ${SOURCE_FILES})
target_link_libraries(your_target ${Boost_LIBRARIES} -any_missing_boostlibs)

Antes de iniciar su programa, evite un volcado de error probando para ver si se ha encontrado un impulso antes de incluir algo o ejecutar su código:

if (Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS})
    add_executable(YourTarget ${SOURCE_FILES})
    target_link_libraries(your_target ${Boost_LIBRARIES} -missing_libs)        
endif()

Incluí -missing_libs porque un error con el que te puedes encontrar es que alguna biblioteca boost u otra podría no haber sido vinculada, y debes agregarla manualmente, por ejemplo, el enlace al que me referí anteriormente.


En conjunto, un archivo CMakeLists.txt final podría parecerse a:

cmake_minimum_required(VERSION 3.7)
project(your_project)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp tmap.cpp tmap.h)
find_package(Boost 1.60.0 COMPONENTS serialization)

if(Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS})
    add_executable(your_project ${SOURCE_FILES})
    target_link_libraries(your_project ${Boost_LIBRARIES})
endif()