VS2008+Boost 1_46_1+STLPort-5.2.1安装及使用配置手记

 http://blog.csdn.net/ymsdu2004/article/details/6321259

一、  从Source编译安装STLPort:

1、  下载源代码:官网http://www.stlport.org/最新稳定版为5.2.1。

2、  解压源文件到本地硬盘,我解压到C盘,解压后的STLPort目录为C:/STLport5.2.1

 

 

 

 

3、  编译工具我选择VS2008,运行“Visual Studio 2008 Command Prompt”。

4、  执行命令 cd C:/STLport5.2.1进入STLPort的根目录“C:/STLport5.2.1”。

5、  执行命令configure msvc9配置编译环境。

6、  执行命令cd C:/STLport5.2.1/build/lib。

7、  执行命令nmake -f msvc.mak clean install

 

 

 

 

一切OK…需要执行的步骤全部结束,只需再耐心等待几分钟的编译时间!编译完成后在STLPort主目录C:/STLport5.2.1下面比之前多出了bin和lib两个文件夹,所有编译产生的*.dll和*.lib文件都已经自动复制到了这两个文件夹下面,同时C:/STLport5.2.1/build/lib目录下产生的obj文件夹则可以删除,以免占有同不必要的硬盘空间(多达318M)。

 

 

 

 

二、  从Source编译安装Boost

boost有些库是不用编译安装的,仅需包含头文件库就行了。但有些库(如thread,regex)则因为需要根据不同的系统做不同的调整,所以必须编译后方能使用,因此可以根据自己具体需要用什么库来单独进行某个库的编译。为了省事,我选择将那些需要编译的库全部编译,以下就是编译安装的具体步骤:

1、  下载源代码:官http://www.boost.org/最新稳定版为1.46.1。

2、  解压源文件到本地硬盘,我解压到C盘,解压后的Boost目录为C:/boost1.46.1

 

 

 

 

3、  编译工具我选择VS2008,运行“Visual Studio 2008 Command Prompt”。

4、  编译bjam工具:

l   执行命令cd C:/boost1.46.1进入Boost主目录。

l   执行命令bootstrap.bat运行批处理文件,生成了bjam.exe工具

 

 

 

 

 

 

5、  修改Boost配置文件:

l   进入文件夹“C:/boost.1.46.1/tools/build/v2”用记事本打开文件“user-config.jam”。

l   找到文件中的“MSVC configuration”, 将# using msvc : 8.0 ;修改为using msvc : 9.0 ;(注意修改的内容:去掉#,同时根据自己的编译器修改参数8.0,我的编译器是9.0,故改为9.0)。

l   找到文件中的“STLPort configuration”,将“# using stlport : : /usr/include/stlport /usr/lib ;”修改为“using stlport : 5.2.1 : "C:/STLport5.2.1/src" : "C:/STLport5.2.1/lib" ;”

 

 

 

 

6、  执行命令bjam --toolset=msvc --build-type=complete stdlib=stlport stage。通过bjam.exe工具编译Boost。

欧拉!当你看到下面的屏幕显示时,基本没有问题了,该干嘛干嘛去,要耐得住性子,编译时间是相当的可观(我的机器下编译花了半个多小时…)。编译完成后,得到的库文件都默认便宜到文件夹bin.v2中,这是默认的,在通过bjam编译的时候可一更改该选项。

 

 

 

 

 

 

 

三、  使用Boost之前对VS2008环境的配置

1、  配置VC9的目录选项:打开Tools->Options,进入“Projects and Solutions”的“VC++Directories”页,在“Show directories for”下面选择“Include files”,在其中加入C:/boost1.46.1和C:/STLport5.2.1,并调整到最前面。选择“Liabrary files”,在其中加入C:/STLport5.2.1/lib和C:/boost_1_46_1/bin.v2/libs(注意,上文提到过很多库不需要编译就可以使用,这个库的包含是针对那些用到需要编译的库如regex的人而言的)。

 

 

 

2、  针对具体工程时,要设置必要的工程属性:

打开菜单Project->…Properties,在“C/C++”的“Preprocessor”页的“Preprocessor definition”中添加宏_STLP_DEBUG和__STL_DEBUG

所有的准备工作已经完成,现在就可以完全进入Boost的世界了!

 

 

四、 使用举例

 

 

[cpp]  view plain copy
  1. /**********************************************************/  
  2. // main.cpp  
  3. // Boost+STLport Test  
  4. // Yangming  
  5. // 2011.04.12-...  
  6. /*******************************************/  
  7.   
  8. #include "boost/timer.hpp"   
  9. #include <iostream>  
  10. using namespace boost;  
  11. using namespace std;  
  12.   
  13. int main()  
  14. {  
  15.     timer t; //构造一个计时器对象  
  16.     cout<<"max timespan:"<<t.elapsed_max()/3600<<"h"<<endl; //定时器最大计时  
  17.     cout<<"min timespan:"<<t.elapsed_min()<<"s"<<endl;      //定时器最小计时(分辨率)  
  18.   
  19.     cout<<"now time elapsed:"<<t.elapsed()<<"s"<<endl;      //从计时器对象构建至今过了多长时间  
  20.     return 0;  
  21. }  

 

运行结果:

 

 

 

 

 ========================================================================================================

 

修改:2013/09/01重新编译,boost版本变为boost_1_54_0,STLport版本任然不变,发现按照执行命令bjam –-toolset=msvc –-build-type=complete stdlib=stlport stage命令编译会出很多错误,通过很长时间的摸索,发现修改为执行命令b2 –-toolset=msvc –-build-type=complete stage就OK了, boost编译真心让人不省心啊!

 

另外,编译速度极度缓慢,我用了大概一个小时以上,完成后发现整个文件夹有10多个G,编译完成后,将会生成bin.v2目录和stage目录。bin.v2是编译生成文件的中间目录,stage是最终生成的dll和lib相应的目录,如果你硬盘不够大的话建议删除bin.v2,不过下次你再编译的时候还得等上和第一次一样长的时间。

 

  

五、 参考资料:

1、《Boost程序库完全开发指南-深入C++准标准库》--罗建峰。

2、Boost官方文档: http://www.boost.org/doc/libs/1_46_1/more/getting_started/windows.html

3、玄冬的博客: http://blog.chinaunix.net/space.php?uid=24352482&do=blog&id=77047

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值