这Boost库是头只?(Which Boost libraries are header-only?

2019-06-21 07:57发布

这Boost库是头只? 而这需要建设图书馆?

难道这样的列表存在吗?

Answer 1:

需要建筑库列表是这里的类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

请注意,有些库可能依赖于这些(例如,短耳取决于系统在评论中指出的),所以你可能仍然需要建立的东西,即使你希望库是不在名单上。



Answer 2:

其实,即使./bootstrap.sh --show-libraries是有点太不正确,因为一些库依赖于上市库。

它有可能获得与升压仅邮件头的库列表BCP工具,发动每个库的工具,消除这些链接的任何二进制文件。 这就是在做如何建立头只有加速

对于升压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


Answer 3:

我觉得上面的列表是不准确的,即使它从官方文档的。 见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代替。



文章来源: Which Boost libraries are header-only?
标签: c++ boost