BOOST+STLport

来源:互联网 发布:微信一键清理好友软件 编辑:程序博客网 时间:2024/05/21 09:27

一、  从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、  执行命令 cdC:\STLport5.2.1进入STLPort的根目录“C:\STLport5.2.1”。

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

6、  执行命令cd C:\STLport5.2.1\bulid\lib。

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

 


一切OK…需要执行的步骤全部结束,只需再耐心等待几分钟的编译时间!编译完成后在STLPort主目录C:\STLport5.2.1下面比之前多出了binlib两个文件夹,所有编译产生的*.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”, 将# usingmsvc : 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=completestdlib=stlport stage。通过bjam.exe工具编译Boost。

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


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

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


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

打开菜单Project->…Properties,在“C/C++”的“Preprocessor”页的“Preprocessordefinition”中添加宏_STLP_DEBUG__STL_DEBUG

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




原创粉丝点击