boost编译,boost编译以及环境配置

在编译boost先介绍一个boost默认的标准程序库,STLport,用于配合boost程序库工作,当然你可以不使用该库,这不会影响boost的使用。
STLport是一个符合C++98标准的免费得C++标准库实现。相较于STL它的优势在于高度的可移植性以及高效的执行速度。
下载STLport:
最新版本的STLport可到这里下载:http://sourceforge.net/projects/stlport/
STLport主页:www.stlport.org
windows上编译STLport:
1.加压保存(d:\stlport))
2.运行vs工具的命令行提示符(我使用的是vs2008)
3.执行CD命令进行到你下载的STLport源码目录。
4.执行命令configure msvc9(VC6.0执行configure msvc6, vs2008执行configure msvc9。暂时不支持2010)配置编译环境。
5.执行CD命令进入bulid\lib目录。
6.执行命令nmake -f msvc.mak clean install进行编译。
编译生成的DLL和lib会被复制到d:\stlport\lib和d:\stlport\bin目录下。
STLport使用(详细的使用说明可以参考stlport文档):
在debug模式下使用stlport,需要定义宏__STL_DEBUG
在debug模式下与boost配合使用stlport,需要定义宏_STLP_DEBUG
与MFC配合使用stlport需要定义宏_STLP_USE_MFC

boost主页:http://www.boost.org/
boost下载:http://sourceforge.net/projects/boost/files/boost/1.47.0/
boost有两种使用方式,一种是编译成库进行使用,另外一种在工程中直接引入源码。
boost编译:
a.编译jam
1.下载最新版版的boost压缩包(1.47.0),解压保存(ex:d:\boost)
2.运行vs命令行提示符。
3.执行命令cd d:\boost\tools\build\v2\engine(其他的版本可能位于d:\boost\
tools\jam\src)
4.运行build.bat编译jam,编译生成的bjam.exe位于当前目录下的bin.ntx86目录下,要将它复制到boost的根目录。
b.配置
打开E:\Doc\boost_1_47_0\tools\build\v2\user-config.jam,搜索using msvc : 8.0,找到之后去掉前面的#。搜索using stlport,有两处,去掉前面的#,同时修改stlport的源文件和lib文件的路径,注意使用的是"/"而不是"\"来分隔。如果不打算使用stlport那么后面这一步可以省略。
c.编译boost
在boost根目录下执行
bjam --toolset=msvc --build-type=complete stdlib=stlport stage来完全编译boost。执行这个命令需要一段时间,生成的文件也会占用很大的硬盘空间。
d.部分编译boost:
在boost的根目录执行bjam --show-libraries产看所有必须编译才能使用的库。在完全编译命令的基础上使用--with或者--without选项打开或者关闭某个库德编译。关于bjam的选项可以参考文档:http://www.boost.org/boost-build2/doc/html/bbv2/jam.html

配置vs开发环境:
1.配置目录属性
stlport使用编译好的lib,boost使用源码,需要编译才能使用的库则使用lib。
打开vs在工具->选项->项目和解决方案->VC++目录
在包含目录中添加stlport和boost的跟目录,并将他们移动到最前面。
在库文件中包含stlport目录下的lib目录。
注意:vs2010将这个选项放在了每个工程的属性中,所以使用2010需要到每个工程中单独配置。
2.工程属性
打开你使用boost的工程属性页面,将字符集设置为"未设置",DEBUG模式下将运行时库设置为MTD。如果是debug版工程,需并且使用了stlport,需要定义宏_STLP_DEBUG和__STL_DEBUG。
Tags: 

延伸阅读

最新评论

发表评论