Какие библиотеки Boost предназначены только для заголовков? А какие требуют сборки библиотек?
Существует ли такой список?
Какие библиотеки Boost предназначены только для заголовков? А какие требуют сборки библиотек?
Существует ли такой список?
Список библиотек, требующих создания, здесь для Unix-подобных систем и здесь для Windows.
Для текущей версии 1.58 оба варианта:
В нескольких библиотеках есть дополнительные скомпилированные двоичные файлы:
Обратите внимание, что некоторые библиотеки могут зависеть от них (например, Asio зависит от System, как указано в комментариях), поэтому вам все равно нужно что-то создать, даже если нужная библиотека отсутствует в списке.
Я думаю, что приведенный выше список не является точным, хотя это из официальной документации:
https://svn.boost.org/trac10/ticket/13222
Вы можете запросить список библиотек, которые нужно собрать:
> ./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
Примечание. В Windows вы должны вызвать bootstrap.bat
для сборки b2, а затем вызвать b2 --show-libraries
.
На самом деле, даже ./bootstrap.sh --show-libraries
тоже несколько некорректна, потому что некоторые библиотеки зависят от перечисленных библиотек.
С помощью инструмента Boost BCP можно получить список библиотек только для заголовков, запустив этот инструмент в каждой библиотеке и удалив те, которые связывают любые двоичные файлы. Это то, что было сделано в статье Как построить только заголовок.
Для Boost 1.67.0 результирующий список был:
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