哪些 Boost 库是仅标头的
Which Boost libraries are header-only?
哪些 Boost 库是仅标头的?哪些需要建立图书馆?
有这样的清单吗?
需要构建的库列表在这里用于类Unix系统,这里用于Windows。
对于当前版本 1.58,两者是相同的:
- Boost.Chrono
- Boost.Context
- Boost.Filesystem
- Boost.GraphParallel
- Boost.IOStreams
- Boost.Locale
- Boost.MPI
- 提升程序选项
- Boost.Python
- Boost.Regex
- Boost.Serialization
- 增强信号
- 升压系统
- Boost.Thread
- Boost.Timer
- 助推波
一些库具有可选的单独编译的二进制文件:
- Boost.DateTime
- Boost.Graph
- Boost.Math
- 提升.随机
- 提升.测试
- 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
。
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- boost::进程间消息队列引发错误
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- cmake如何在fedora工作站中找到boost静态库包
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- thread_specific_pointer可以在哪些平台上工作而无需 boost::thread?
- 哪些 Boost 库是仅标头的
- boost::spirit解析器和boost::fusion支持哪些容器类型
- 我如何知道 Boost 的哪些部分已被弃用
- 如何找出特定 Boost 库需要哪些依赖项(即其他 Boost 库)
- 成功执行 boost::文件系统::last_write_time 需要哪些权限
- 哪些 Boost 库利用了移动语义
- 运算符支持哪些格式>>用于 boost::chrono::d uration?
- 哪些Boost功能与C++11重叠
- 在Boost和Qt库中有哪些命名空间标识符
- 我应该使用哪些编译选项来使用cl.exe与Boost链接
- 我应该包括哪些头文件,以便在boost spirit中使用limit_d指令
- 我应该从Boost::filesystem::copy中看到哪些错误代码?
- 哪些Boost.Asio调用返回哪些Boost错误代码/条件
- 正确使用Boost库需要哪些先验知识