哪些Boost库只是标题?哪些需要建立图书馆?
这样的清单是否存在?
答案 0 :(得分:51)
需要构建的库列表对于类Unix系统是here,对于Windows是here。
对于当前版本,1.58,两者都是相同的:
一些库具有可选的单独编译的二进制文件:
请注意,某些库可能依赖于这些(例如,Asio依赖于评论中指出的System),因此即使您想要的库不在列表中,您仍可能需要构建一些东西。
答案 1 :(得分:7)
实际上,即使./bootstrap.sh --show-libraries
也有些不正确,因为有些库依赖于列出的库。
可以使用Boost BCP工具获取仅限标题库的列表,在每个库上启动该工具并删除链接任何二进制文件的工具。这就是在 How To Build Header Only Boost 中完成的。
对于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
答案 2 :(得分:4)
我认为上面的列表并不准确,即使它来自官方文档。见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
。