sirve que para libreria funcion dev biblioteca c++ boost

c++ - que - iostream h en c



¿Qué bibliotecas de impulso son solo de encabezado? (3)

¿Qué bibliotecas de impulso son solo encabezado? ¿Y cuáles requieren construir libs?

¿Existe tal lista?


Creo que esta lista no es precisa, aunque es de la documentación oficial.

https://svn.boost.org/trac10/ticket/13222

Puede consultar la lista de bibliotecas que deben compilarse:

> ./bootstrap.sh --show-libraries The Boost libraries requiring separate building and installation are: atomic chrono container context coroutine date_time exception fiber filesystem graph graph_parallel iostreams locale log math metaparse mpi program_options python random regex serialization signals stacktrace system test thread timer type_erasure wave

Nota : en Windows debe llamar a bootstrap.bat para compilar "b2" y luego llamar a b2 --show-libraries


De hecho, incluso ./bootstrap.sh --show-libraries algo incorrecto, porque algunas bibliotecas dependen de las bibliotecas listadas.

Es posible obtener una lista de librerías solo de encabezado con la herramienta Boost bcp , iniciando la herramienta en cada biblioteca y eliminando aquellas que enlazan cualquier binario. Eso es lo que se hizo en https://github.com/ki11roy/header_only_boost

Para Boost 1.67.0 la lista resultante fue:

accumulators align any array assert assign bind callable_traits circular_buffer compatibility concept_check config container_hash conversion convert core crc detail disjoint_sets dynamic_bitset endian foreach format function functional function_types fusion geometry gil hana heap hof icl integer interprocess intrusive io iterator lambda lexical_cast locale local_function logic metaparse move mp11 mpl msm multi_array multi_index optional phoenix poly_collection polygon predef preprocessor property_tree proto ptr_container qvm ratio rational scope_exit signals2 smart_ptr sort static_assert throw_exception tokenizer tti tuple type_index typeof type_traits units unordered utility uuid variant vmd winapi xpressive


La lista de bibliotecas que requieren creación está here para sistemas tipo Unix, y here para Windows.

Para la versión actual, 1.58, ambos son iguales:

  • Boost.Chrono
  • Boost.Context
  • Boost.Filesystem
  • Boost.GraphParallel
  • Boost.IOStreams
  • Boost.Locale
  • Boost.MPI
  • Boost.ProgramOptions
  • Boost.Python
  • Boost.Regex
  • Boost.Serialization
  • Boost.Signals
  • Boost.System
  • Boost.Thread
  • Boost.Timer
  • Boost.Wave

Algunas bibliotecas tienen binarios opcionales compilados por separado:

  • Boost.DateTime
  • Boost.Graph
  • Boost.Math
  • Boost.Random
  • Boost.Test
  • Boost.Exception

Tenga en cuenta que algunas bibliotecas pueden depender de esto (por ejemplo, Asio depende del sistema como se señala en los comentarios), por lo que puede que necesite construir algo incluso si la biblioteca que desea no está en la lista.