Boost C++ 库(Libraries)是一组扩展C++功能的经过同行评审(Peer-reviewed)且开放源码程序库。大多数的函数为了能够以开放源码或者封闭项目的方式运作,而许可于Boost软件许可协议(Boost Software License)之下。许多Boost的开发人员是来自C++标准委员会,而部分的Boost库成为C++的TR1标准之一。
为了要确保库的效率与弹性,Boost广泛的使用模板(template)功能。而它是针对各式领域的C++用户与应用领域(Application Domain)上,包含的库类别从像smart_ptr 库(页面存档备份,存于互联网档案馆)这种类通用库,到像是文件系统的操作系统抽象层,甚至能够利用Boost来开发额外的库或是给高级的C++用户利用,像是MPL。
源代码下载
1 | git clone https://github.com/boostorg/boost.git |
编译过程
生成编译工具b2.exe:
1 | cd %BOOST_ROOT% |
- 完整安装boost
1 | b2 --buildtype=complete |
- 定制安装boost
1 | # 可查看所有必须编译才能使用的库 |
编译结果在stage\lib目录下生成regex库(Debug/Release):
1 | libboost_regex-vc100-mt-1_77.lib |
相关参数的含义:
stage 仅创建和安装库文件(不创建头文件),可以用 –stagedir= 选项指定库的安装位置,默认安装在当前目录下的stage文件夹内。
–with- 创建和安装指定的库,如果使用了这个选项,则仅仅指定的库被创建,其它库不被创建。如果不指定这个选项,默认创建所有需要编译安装的库。
link=static指定生成静态regex库
threading=multi指定生成多线程库
runtime-link=shared指定动态链接C和C++ 运行库
参考链接
- Boost编译与使用,by luckyum.
- Parsing Command Line Arguments in C++?,by stackoverflow.
- Boost.Program_options,by Boost.
- Boost.JSON,by Boost.
- Boost C++ Libraries,by wikipedia.
- Boost Getting Started on Windows,by Boost.
- Windows平台下boost库的编译和调用,by JasonLiThirty.
- windows下编译和安装boost库,by rangers.
- C++静态库与动态库,by rangers.
- boost::program_options 用法详解,by morning_color.
- C++ Boost JSON解析库的使用,by miaoerduo.
- boost.xml_parser中文字符问题,by mob604756f44f2a .
- Creating JSON arrays in Boost using Property Trees,by stackoverflow.
- Boost.JSON Boost的JSON解析库(1.75首发),by ink19.
- c++ - 如何使用 json 解析器的 boost property_tree 创建空数组节点,by coder.