一.编译安装STLPort
1、从STLPort官网http://www.stlport.org/下载STLport-5.2.1.tar.bz2,使用WinRar或其他工具将其解压到硬盘任何位置,本人解压到了C:\STLport,当然您也可以解压到其他路径中。补充说明下,截止本文发布时间,STLport最新稳定版为5.2.1。
2、进入Visual Studio 2008命令行,执行命令cd C:/STLport/STLport5.2.1进入STLPort的根目录
3、执行命令configue msvc9配置编译环境。
6、执行命令cd C:/STLport/STLport5.2.1/lib。
7、执行命令nmake –f msvc.mak clean install,执行STLport的编译过程
编译完成后在STLPort主目录C:/STLport/STLport5.2.1下面比之前多出了lib和bin两个文件夹,所有编译产生的*.dll和*.lib文件都已经自动复制到了这两个文件夹下面,同时C:/STLport/STLport5.2.1/build/lib目录下产生的obj文件夹则可以删除,以免中间文件占用硬盘空间(多达315M左右)。
二.编译安装Boost1.470
1、从boost官网http://www.boost.org/下载boost_1_47_0.7z,并解压到本地硬盘,本人解压到了C盘中,解压后的boost目录为C:/boost_1_47_0
2、进入Visual Studio 2008命令行,执行命令cd C:/boost_1_47_0进入boost的根目录,执行命令bootstrap.bat运行批处理文件,生成了编译boost库的工具bjam.exe
3、修改Boost配置文件
进入文件夹C:/boost_1_47_0/tools/build/v2用记事本打开文件user-config.jam。
找到文件中的MSVC configuration处, 将# using msvc : 8.0 ;修改为using msvc : 9.0 ; 记得去掉代表注释的#号,
找到文件中的STLPort configuration处,将# using stlport : : /usr/include/stlport /usr/lib ;修改为 using stlport : 5.2.1 : C:/STLport/STLport-5.2.1/stlport : C:/STLport/STLport-5.2.1/lib ;
4、Visual Studio 2008命令行在C:/boost_1_47_0中执行对boost库完全编译的命令bjam –-toolset=msvc –-build-type=complete stdlib=stlport stage,当然您也可以根据您自己的需求更改bjam工具的编译参数。
接下来是对boost编译过程漫长的等待,本人的电脑完全编译boost耗时40分钟左右。编译完成后,得到的boost库文件都默认编译到文件夹C:/boost_1_47_0/stage/lib中.另外boost的头文件所在文件夹就是C:\boost_1_47_0\boost.
三、 使用Boost之前对VS2008环境的配置
1、配置vs2008的目录选项:VS2008->工具->选项,进入“项目和解决方案”的“VC++目录”页,在“显示以下内容的目录”下面选择“包含文件”,在其中加入C:/STLport/STLport5.2.1和C:\boost_1_47_0,并调整到最前面。选择“库文件”,在其中加入C:/STLport/STLport5.2.1/lib和C:/boost_1_47_0/stage/lib。
2、针对具体工程时,要设置必要的工程属性
若在Debug模式下使用,应在当前工程的属性中进入“C/C++”的“预处理器”页的“预处理器定义”中添加宏_STLP_DEBUG和__STL_DEBUG两个宏。_STLP_DEBUG为Debug模式下使用STLport需要定义的宏,__STL_DEBUG(注意开始的下划线为双下划线)为Debug模式下与boost配合使用STLport需要定义的宏.
另,与MFC配合使用STLport需要定义宏_STLP_USE_MFC;如果程序要使用静态库的话定义宏(默认已经定义此宏):_STLP_USE_STATIC_LIB,并且将工程运行库属性改为/MT或/MTD。
四、给出一小段测试代码 注意头文件的包含顺序