Boost_1_39_0库vs2008编译指南

来源:互联网 发布:知和行书局 编辑:程序博客网 时间:2024/06/16 01:31

<!-- /* Font Definitions */ @font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;}@font-face{font-family:"/@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;mso-pagination:none;font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;}a:link, span.MsoHyperlink{color:blue;text-decoration:underline;text-underline:single;}a:visited, span.MsoHyperlinkFollowed{color:purple;text-decoration:underline;text-underline:single;} /* Page Definitions */ @page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@page Section1{size:612.0pt 792.0pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:36.0pt;mso-footer-margin:36.0pt;mso-paper-source:0;}div.Section1{page:Section1;}-->

编译boost库之前,需要做一些准备工作。下载一些Open Source的包,来支持boost特定库的需要

       boost库需要的额外库有:ICUbzipzlib123python

    ICU库:

    ICU提供了unicode和国际化支持,目前的版本是4.0.1ICU的主页是:http://www.icu-project.org/,推荐下载源代码版本自己进行编译,以避免依赖于VS2008的运行时库。

    编译ICU库:ICU的编译比较简单,打开ICU源代码目录下的source/allinone/allinone.sln,需要转换到VS2008格式,直接转换即可。然后,选择releaseRebuild Solution即可。

    测试ICU库:将编译出来的bin目录加入到系统的PATH目录中去。然后,重新打开allinone.sln工程,需要通过测试的项目: cintltst项目; intltest项目; iotest分别设置成启动项目,运行即可。

    ICU库主要使boost库中regex支持unicode

    bzip库:

    bzip的主页是 http://www.bzip.org/,从http://www.bzip.org/downloads.html下面下载源代码包即可,boost直接使用源代码来进行编译。

    zlib库:

       zlib的主页是http://www.zlib.net/,从该网页下面下载源代码包即可,boost直接使用源代码来进行编译。

python

python的主页是http://www.python.org/,下载python2.5.2版本,安装即可。boost默认是会编译python,并且会自动寻找python的安装目录。可以通过编译选项不编译python

编译boost库:

首先在www.boost.org下载jamboost最新的源代码(本文为jam_version=3.1.17 boost_version=1.39.0),将boost源代码解压缩到x:/boost/目录下,将jam源代码解压到x:/boost/jam/目录下。
然后打开Visual Studio 2008 命令提示来到x盘下进入jam目录,下面有个build.bat文件。
在命令行输入build msvc 9.0,执行完成后会在该目录下生成一个bin.ntx86的目录,将目录中的bjam.exe拷贝到x:/boost/目录下.
现在将命令行定位到x:/boost编译时通过设置参数可以指定编译器和编译版本以及存放路径,这里没有编译python.

推荐采用如下的编译:

bjam-sICU_PATH=E:/Source/CommonLibs/icu -sBZIP2_SOURCE=E:/Source/CommonLibs/bzip2-sZLIB_SOURCE=E:/Source/CommonLibs/zlib123 --without-python --without-mpi--toolset=msvc-9.0 address-model=32 link=static runtime-link=shared threading=multi--prefix=E:/Source/CommonLibs/BoostLib debug release stage

该编译将会生成boost的静态库,目录需要根据具体情况进行调整。

在编译过程中会自动生成三个文件夹,按生成先后顺序分别是bin.v2,lib其中bin.v2目录在X:/boost中,是编译时存放libdll obj文件的地方,lib目录在X:/boost/stage中,是存放编译完成后的所有libdll文件的目录。如果空间十分紧张,可以删除 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

最后在boost库在vs2008使用中要注意MDd MTd 编译选项的选择。

注:去掉编译警告的办法

如果需要去掉编译过程中的一些warning,可以在x:/boost/tools/build/v2user-config.jam文件中加入以下这一行

using msvc : 9.0 : :/wd4819 /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE  /D_SECURE_SCL=0 ;

 

原创粉丝点击