您的位置:首页 > 其它

编译boost,源自<Boost程序库完全开发指南>

2013-04-09 21:09 435 查看
STLport

比vc自带的更优越.

下载地址:www.stlport.org

Debug模式下使用STLport,需要定义宏"__STL_DEBUG"

Debug模式与Boost配合使用STLport,需要定义宏"_STLP_DEBUG"

与MFC配合使用STLport,需要定义宏"_STLP_USE_MFC"

编译STLport

1.从"开始"菜单运行VS2010工具的命令行提示符"Visual Studio 2005 Command Prompt"

2.执行命令"cd d:\STLport",进入STLport目录

3.执行命令"configue msvc10"

4.执行命令"cd d:\STLport\build\lib"进入lib目录

5.执行命令"nmake -f msvc.mak clean install"

编译时间较长,编译完成后会自动将编译出的*.dll和*.lib复制到STLport\lib和STLport\bin目录下,之后可讲STLport\build\lib\obj目录删除节约硬盘空间

编译bjam

boost编译未使用make,而是bjam,可下载,可自行编译版本

1.从"开始"菜单运行VS2010工具的命令行提示符"Visual Studio 2005 Command Prompt"

2.执行命令"cd d:\boost\tools\jam\src"

3.运行build.bat,开始编译bjam

编译完成后,bjam.exe程序位于src\bin.ntx86下

无论是下载还是编译,最后都需要将bjam.exe程序拷贝到boost的根目录d:\boost

使用bjam前需要修改bjam的配置文件:boost\toost\build\v2\user-config.jam

1.修改57行,去掉前面的#注释,启用msvc8.0

2.修改75行,去掉前面的#注释,启用STLport,修改STLport的头文件路径和lib文件路径,路径使用"/"分隔.如:using stlport::d:/stlport/src d:/stlport/lib;

如果不使用STLport替代C++标准库,第二步省略.

完全编译boost

1.在boost根目录执行命令

bjam --toolset=msvc --build-type=complete stdlib=stlport stage

或者(Linux)

bjam --toolset=gcc --build-type=complete stage

toolset 指定编译器

build-type指定编译类型,如不指定则默认使用release模式

stdlib指定要搭配的标准库,如不使用可不用该选项

stage选项指定boost本地构建.如果使用install选项则编译后会把boost安装到默认路径下(win c:\boost,linux: /usr/local)

编译成功后可以在boost\bin.v2目录下找到生成的*.dll和*.lib,拷贝到其他目录(如boost\vc8lib),之后就可以把bin.v2目录删除

部分编译

bjam --toolset=msvc --with-date_time --build-type=complete stdlib=stlport stage将仅编译data_time库

bjam可指定安装路径,debug或者release版本,查询其它资料获得更多信息.

嵌入代码编译

BOOST_ALL_NO_LIB或者BOOST_XXX_NO_LIB(XXX表示某库名称),以指示boost库不要自动连接功能

使用时需要设置文件目录和库目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐