Boost库编译

1.源码包的下载:

首先你需要到Boost官网下载源码包:Boost官网 ,目前的最新版本是1.55.0

Boost库编译_第1张图片


点击Version 1.55.0 进行下载,当然你也可以选择其他的版本。进入下载页面后,分为Unix和Windows两种环境下的源码包,分别又分为两种压缩格式,选择其一即可。

Boost库编译_第2张图片


2.Boost库的编译:

我用的是以前下载boost_1_53_0版本,boost_1_53_0.zip,VS2008的编译器

(1)把压缩包解压,得到如下图所示:

Boost库编译_第3张图片

(2)打开你的VS的安装目录,在Microsoft Visual Studio X.0\VC\bin的目录下找到VCARS32.bat,拉到CMD下回车;这样的目的是为了注册环境变量;

Boost库编译_第4张图片

(3)在当前窗口下输入CD  /d“你的解压后包的目录/tools/build/v2”然后把bootstrap.bat拉到CMD下回车。如下图:

Boost库编译_第5张图片

然后在V2目录下会产生一个bjam.exe和b2..exe

(4)回到Boost根目录下,点击bootstrap.bat,会把产生的两个文件复制到根目录下,当然手动复制也是一样的;

另外说一下,现在的bjam.exe和b2..exe已经没有任何区别,而且编译时不需要再设置vs版本,点击其中一个即可,如果无法编译可以手动指定VS参数,CMD跳转到根目录下输入:bjam--toolset=msvc-9.0--build-type=complete stage,大约个一个半小时可完全编译Boost库(和机器配置有关)。

此外你也可以设置参数只编译你需要的部分bjam--toolset=msvc-9.0--build-type=XXX stage;XXX为库名

参数如下:


--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 显示需要编译的库名称

生成的文件解析:

link= static : 静态库。 生成的库文件名称以 “lib”开头,            例如:libboost_atomic-vc90-mt-1_53.lib

link= shared : 动态库导入库。生成的库文件名称无“lib”开头, 例如:boost_atomic-vc90-mt-1_53.lib

threading= mult : 支持多线程。 生成的库文件名称中包含 “-mt”例如:boost_atomic-vc90-mt-1_53.dll

 variant=release  生成的库文件名称不包含 “-gd”                         例如:boost_atomic-vc90-mt-1_53.dll

variant= debug  生成的库文件名称包含 “-gd”                             例如:boost_atomic-vc90-mt-gd-1_53.dll

 runtime-link= static  生成的库文件名称包含 “-s”                        例如:libboost_atomic-vc90-mt-s-1_53.lib

runtime-link= shared  生成的库文件名称不包含 “-s”                   例如:libboost_atomic-vc90-mt-1_53.lib



你可能感兴趣的:(boost,C++)