boost 下载地址:http://www.boost.org/users/download/
运行bootstrap.bat 生成bjam.exe (1.52版本,其它略有不同)
编译命令:编译时用到了两个命令,用第一个命令编译时没有生成带sgd的lib所以又用了第二个命令编译,对第二个编译有不明白的地方
bjam toolset=msvc-10.0 variant=debug,release threading=multi link=static //
bjam --tooset=msvc-10.0.0 --prefix=x:\boost debug runtime-link=static stage //生成带sgd字符的静态debug版的lib和dll文件
--------------------------------------------------------------------
编译环境:Windows XP SP3 vs2005 版本8.0.50727.762
首先在www.boost.org下载jam和boost最新的源代码(本文为jam_version=3.1.17 boost_version=1.38.0),将boost源代码解压缩到x:\boost\目录下,将jam源代码解压到x:\boost\jam\目录下。
然后打开Visual Studio 2005 命令提示来到x盘下进入jam目录,下面有个build.bat文件。
在命令行输入build msvc 8.0,执行完成后会在该目录下生成一个bin.ntx86的目录,将目录中的bjam.exe拷贝到x:\boost\目录下.
现在将命令行定位到x:\boost编译时通过设置参数可以指定编译器和编译版本以及存放路径,这里没有编译python.
bjam --toolset=msvc-8.0 --prefix=x:\boost stage
这个命令将会生成release版的lib和dll文件
bjam --toolset=msvc-8.0 --prefix=x:\boost debug stage
这个命令将会生成带gd字符的debug版的lib和dll文件
bjam --tooset=msvc-8.0 --prefix=x:\boost debug runtime-link=static stage
这个命令将会生成带sgd字符的静态debug版的lib和dll文件
如果不是用--prefix参数将默认生成在c:\boost目录下
编译完成后可以建立一个bat文件自动将生成的lib和dll文件拷贝到lib目录下面
cplib.bat
dir /W/S/B *vc80*.lib,*vc80*.dll >liblist
if exist lib (echo exist lib fold) else (mkdir lib)
for /f %%x in (liblist) do @copy "%%x" lib\
拷贝之后可以做一下清理工作,同个建立一个bat文件来自动清理编译过程产生的.obj文件
delobj.bat
del /s/q *.obj
将这两个文件放在x:\boost目录下执行就可以了。
在编译过程中会自动生成三个文件夹,按生成先后顺序分别是bin.v2,lib其中bin.v2目录在X:\boost中,是编译时存放lib,dll和obj文件的地方,lib目录在X:\boost\stage中,是存放编译完成后的所有lib,dll文件的目录。如果空间十分紧张,可以删除bin.v2目录
最后配置项目环境
include: Tools-->Options-->Projects and Solutions-->VC++ Directories
在Show Directories for 选择Include files 添加路径:X:\boost
Linker:Tools-->Options-->Projects and Solutions-->VC++ Directories
在Show Directories for 选择Include files 添加路径:X:\boost\stage\lib
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1.33
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1、启动“Visual Studio 2005 命令提示”。
2、安装“Boost-1.33.1”到“C:\Boost-1.33.1”或其他任意盘。
3、在命令行输入“CD C:\boost_1_33_1\tools\build\jam_src”进入目录。
4、执行批处理文件“build.bat”编译“bjam.exe”文件。
5、将“bjam.exe”文件复制到“C:\Windows”下,以便在Windows所有目录下都可以使用“bjam.exe”命令。
6、打开“C:\boost_1_33_1\tools\build\v2”目录下的“user-config.jam”文件。
7、在“# using msvc ;”行之下添加“using vc-8_0 ;”,以便使用VS2005编译Boost。
8、在命令行输入“CD C:\boost_1_33_1”进入Boost根目录,准备编译Boost。
9、在命令行C:\boost_1_33_1> 输入“bjam "-sTOOLS=vc-8_0" install”回车开始编译Boost。
10、等待编译,时间较长,编译需要3-4GB的空间,编译完后可以看见“C:\Boost”目录,即为以编译的文件。原目录下也有一份编译后的文件。
Tools -> Options -> Projects and Solutions -> VC++ Directories
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
regex
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1、打开vs2005在菜单tools中选择Visual Studio 2005 Command Prompt,打开已配置好环境的命令行。
2、进入目录boost_1_34_1\libs\regex\build,
编译文件:nmake -f vc8.mak
安装(将编译好的文件复制到vs2005的特定目录下):nmake -f vc8.mak install
删除临时文件:nmake -f vc8.mak clean
3、Tools->Options->Projects and Solutions->VC++ Directories->Include files添加boost_1_34_1路径
初次使用提示找不到libboost_regex-vc80-mt-gd-1_34_1.lib文件,到网上搜了下解决方法为:将libboost_regex-vc80-mt-gd-1_34.lib改名libboost_regex-vc80-mt-gd-1_34_1.lib放到vs或工程目录下。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
通用编辑说明
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Boost库本身不用多介绍,每个用C++的人都对它有或多或少的概念。尽管它存在着是否过度设计、是否学院派这类的争论,不过作为C++标准库的后备它的优秀是谁也否认不了的。下面是网上摘录的一段:
对于大部分Boost应用来说,它是不用编译的,直接包含头文件就可使用,如:
any只有少部分需要编译成库文件,需要编译的库如下:
date_time再次啰嗦一句,如果代码中用不到这部分需要编译的Boost库,完全可以不用花时间编译,直接包含头文件即可。
开始编译第一步:得到Boost(少说费话,写再多字也没稿费!) 本文对应的版本是Boost.1.37.0。
下载地址:http://www.boost.org/users/download/
解压,本文假设解压到D:\Boost_1_37_0
Boost库由一系列库组成,为了简化编译,就搞了个bjam这个工具出来。
想偷懒就直接下载可执行版本,下载地址。Windows版的是有ntx86后缀的那个。
想自己动手先做编译Boost前热身的就接着往下看:
输入命令:
bjam --toolset=borland(对应BCB)或msvc(对应VC)或gcc(对应Mingw) stage 就开始编译了,编译时间比较长(大概半小时左右,依编译器以及选项不同而不同),编译好的文件会放在.\stage\lib(依--stagedir=命令决定)里。
bjam还有几个很有用的选项:
bjam参数 --build-dir=<builddir> 编译的临时文件会放在builddir里(这样比较好管理,编译完就可以把它删除了) --stagedir=<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-<library> 只编译指定的库,如输入--with-regex就只编译regex库了。 --show-libraries 显示需要编译的库名称
--------------------------------------------------------------------------------------------------------------------