Boost 入门之1 - 下载与安装

boost库是一个开源免费的C++第三方库,它是一个非常优秀的库,是C++标准的最好实践之一,因此也经常被用于商业的开发。facebook就用到boost。boost中很多组件被列入C++标准,C++17标准中更多组件将被加入。
1. 下载地址
官网下载即可。http://www.boost.org/
官网最终下载链接到:https://sourceforge.net/projects/boost/files/boost/1.60.0/
最新版本:1.60.0 版本。
这里写图片描述
四个压缩版本,随便选择一个即可,当然压缩比最高的7z优先了。
2. 下载后解压,有四百多M.
3. 目录结构
boost的目录结构
boost_1_60_0\ ……………………………………..Boost的根目录
boost\ ……………………………………………..所有Boost的头文件(*.hpp)
libs\ …………………………………………………Tests, .cpps, docs, etc., by
status\ …………………………………………..Boost-wide 测试包
tools\ …………………………………………….常用工具,如. Boost.Build, 快速查询手册, bcp
more\ ……………………………………………法律条款等
doc\ ……………………………………………….Boost库文档的一个子集
index.html ………………………………….Boost库的使用手册的首页
index.htm ……………………………………….www.boost.org中指导手册的一个副本
根目录下其他文件是安装用,或license之类。
4. 安装
90%的boost组件并不需要构建安装,直接使用即可,非常方便。(很多由模板和inline函数组成),小部分需要构建安装才能使用。
当然,也可以将boost源码编译为库文件。文档有(index.htm).
这里写图片描述

The only Boost libraries that must be built separately are:

Boost.Chrono
Boost.Context
Boost.Filesystem
Boost.GraphParallel
Boost.IOStreams
Boost.Locale
Boost.MPI
Boost.ProgramOptions
Boost.Python (see the Boost.Python build documentation before building and installing it)
Boost.Regex
Boost.Serialization
Boost.Signals
Boost.System
Boost.Thread
Boost.Timer
Boost.Wave
4. 编译
首先必须生成编译工具。这个简单,执行目录下的bootstrap.bat 即可。
生成b2.exe 和bjam.exe(还有其他两个文件)。
b2.exe 和bjam.exe 作用差不多,好像b2是bjam的升级版本。我用两者分别编译了,发现生成的库文件大小都一致,看不出区别。

最简单的编译方式就是命令行下输入 b2 回车即可。此种方式在当前目录下用默认的编译选项编译生成库文件。
还有很多选项设置:
b2 stage –toolset=msvc-11.0 –with-thread –stagedir=d:’\boost_1_60_0 release
b2 install –toolset=msvc-11.0 –with-thread –stagedir=d:’\boost_1_60_0 debug
b2 –build-dir=build-directory toolset=toolset-name –build-type=complete stage
b2 –show-libraries :显示需要编译的库

stage 只编译库文件,install:包括头文件的复制和生成。

Bjam 选项、参数说明
–build-dir=
编译的临时文件会放在builddir里(编译完就可以把它删除了)
–stagedir=
存放编译后库文件的路径,默认是stage
–build-type=complete
编译所有版本,不然只会编译一小部分版本(相当于:
variant=release,threading=multi;
link=shared|static;runtime-link=shared)
variant=debug|release
决定编译什么版本(Debug or Release)
link=static|shared
决定使用静态库还是动态库
threading=single|multi
决定使用单线程还是多线程库
runtime-link=static|shared
决定是静态还是动态链接C/C++标准库
–with-
只编译指定的库,如输入–with-regex就只编译regex库了
–show-libraries
显示需要编译的库名称
静态库:
bjam stage –toolset=msvc-12.0 –stagedir=”C:\Boost\boost_vc_120” link=static runtime-link=shared threading=multi release
用vs2012生成 Release 版本,多线程,动态态链接C++标准库 的 静态库。
动态库:
bjam stage –toolset=msvc-12.0 –stagedir=”C:\Boost\boost_vc_120” link=shared runtime-link=shared threading=multi debug release
用vs2012生成 Debug和Release 版本,多线程,动态态链接C++标准库 的 动态库。

一般用静态库即可。
link= static : 静态库。 生成的库文件名称以 “lib”开头
link= shared : 动态库。生成的库文件名称无“lib”开头,生成dll文件

threading= mult : 支持多线程。 生成的库文件名称中包含 “-mt”

variant=release 生成的库文件名称不包含 “-gd”
variant= debug 生成的库文件名称包含 “-gd”

runtime-link= static 生成的库文件名称包含 “-s”
runtime-link= shared 生成的库文件名称不包含 “-s”。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值