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;