Какие библиотеки Boost предназначены только для заголовков?
Какие библиотеки Boost предназначены только для заголовков? А какие требуют сборки библиотек?
Существует ли такой список?
3 ответа
Список библиотек, требующих сборки, приведен здесь для Unix-подобных систем и здесь для Windows.
Для текущей версии 1.58 оба одинаковы:
- 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
Несколько библиотек имеют дополнительные отдельно скомпилированные двоичные файлы:
- Boost.DateTime
- Boost.Graph
- Boost.Math
- Boost.Random
- Boost.Test
- Boost.Exception
Обратите внимание, что некоторые библиотеки могут зависеть от них (например, Asio зависит от System, как указано в комментариях), поэтому вам, возможно, все равно придется что-то создавать, даже если нужной библиотеки нет в списке.
На самом деле, даже ./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
Я думаю, что этот список не является точным, хотя это из официальной документации:
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
вместо.