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.