天天看点

SGI STL安装

SGI STL安装

STL的版本有很多个,其中的SGI版本的使用非常广,linux下的GCC用的就是这个。现在有个sport组织致力于把SGI版本的移植到其他平台上。

下面以安装到vc6为例:

侯捷的《STL源码剖析》那本书的附录里有孟岩下的一片STLPort一直经验,按照那篇文档参考一步一步操作:

1) 先到http://www.stlport.org/下载需要的版本,解压STLPort之后的目录是:

doc<目录>

etc<目录>

src<目录>

stlport<目录>

test<目录>

INSTALL<文件>

READMD<文件>

再新建一个目录<lib>,用以放置编译时生成的lib文件。下面以%STLPort%标识为STLPort的解压目录。

1) 下面以%VC6%标识为vc6的安装目录,将%VC6%/VC98/Bin目录下的VCVARS32.BAT文件中下面两行

set INCLUDE=%MSVCDir%/ATL/INCLUDE;%MSVCDir%/INCLUDE;%MSVCDir%/MFC/INCLUDE;%INCLUDE%

set LIB=%MSVCDir%/LIB;%MSVCDir%/MFC/LIB;%LIB%

替换为:

set INCLUDE=%STLPort%/stlport;%MSVCDir%/ATL/INCLUDE;%MSVCDir%/INCLUDE;%MSVCDir%/MFC/INCLUDE;%INCLUDE%

set LIB=%STLPort%/lib;%MSVCDir%/LIB;%MSVCDir%/MFC/LIB;%LIB%

2) 进入CMD命令行,cd到%STLPort%/src目录下,按照孟岩大师的参考或者STLPort解压后的INSTALL文件中的例子进行安装,

    Examples :

     1. If you are building STLport for just one compiler, you may do something like that

        (DOS syntax for Visual C++ below):

        copy vc6.mak makefile

        nmake clean all

        nmake install

安装之后,stlport就安装到%VC6%/VC98/Include/stlport目录下了。

3)使用stlport

为了和平时引用STL库一样,可以通过如下两种方法来引用文件

a) Tools--->Options--->Directoies,在show directories for下拉框中选择Include file,在Directories中新添刚才生成的stlport目录,并且调整目录的顺序,把它放置在第一行。

b) Projec--->Settings--->C/C++,在Category下拉框中选择Preprocessor,在Additional include directories中添加刚才生成的stlport目录。

设置vc为multi-thread模式,Projec--->Settings--->C/C++,在Category下拉框中选择Code Generation,设置mutithread。

写几个简单的stl例子试试。

    #include <rope>

    crope cro1("It took me about one hour");

    crope cro2("to plug the STLport into vc6.");

    std::cout << cro1 +cro2 << endl;

继续阅读