Quelles bibliothèques Boost sont uniquement en-tête? Et qui nécessitent la construction de bibliothèques?
Une telle liste existe-t-elle?
La liste des bibliothèques qui nécessitent une construction est ici pour les systèmes de type Unix et ici pour Windows.
Pour la version actuelle, 1.58, les deux sont identiques:
Quelques bibliothèques ont des binaires facultatifs compilés séparément:
Notez que certaines bibliothèques peuvent dépendre de celles-ci (par exemple, Asio dépend du système comme indiqué dans les commentaires), vous devrez donc peut-être encore créer quelque chose même si la bibliothèque que vous souhaitez ne figure pas dans la liste.
En fait, même ./bootstrap.sh --show-libraries
est quelque peu incorrect aussi, car certaines bibliothèques dépendent de ces bibliothèques répertoriées.
Il est possible d'obtenir la liste des bibliothèques uniquement en-tête avec l'outil Boost BCP , en lançant l'outil sur chaque bibliothèque et en supprimant celles qui lient les binaires. C'est ce qui a été fait dans How To Build Header Only Boost.
Pour Boost 1.67.0, la liste résultante était:
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
Je pense que la liste ci-dessus n'est pas exacte même si elle provient de la documentation officielle. Voir https://svn.boost.org/trac10/ticket/13222
Au lieu de cela, vous pouvez interroger la liste des bibliothèques qui doivent être construites:
> ./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
Remarque : Sous Windows, vous devez appeler bootstrap.bat
pour construire "b2" puis appelez b2 --show-libraries
au lieu.