天天看點

win7+vs2008下安裝配置STLport

win7+vs2008下安裝配置STLport

轉載自:http://www.ouchangjian.com/index.php/archives/492

STLprot是一個完全符合C++98标準的一個免費跨平台的C++标準庫實作。

經測試,windows MSVC平台下,STLport的運作速度比VC8自帶的STL(Dinkumware v405)大約塊一倍,比VC9自帶的STL(Dinkumware V503)快約10percent。

是以我們可以使用STLport代替MSVC自動的Dinkumware STL 進行windows平天下的開發。

此處摘自《Boost程式庫完全開發指南》

1)STLport的下載下傳

    STLPort官網(http://www.stlport.org/->Dowdload-> STLport Home at SourceForge->wait 5s)下載下傳STLport-5.2.1.tar.bz2(最新版本為20081210釋出的5.21版本),将壓縮包裡面的STLport-5.2.1檔案夾全部檔案解壓到了D:\STLport,當然你也可以解壓到其他路徑。

2)STLport的編譯

(STLport 的安裝方法在STLport-5.2.1.tar.gz 解壓後的STLport-5.2.1\INSTALL 檔案中有詳細說明。)

    1,打開開始菜單下的Visual Studio 2008 Command Prompt(開始->附件->vs2008->visual studio tools->vs2008指令提示)

    2,輸入“d:”

    3,輸入“cd d:/STLport”

    4,輸入“configure msvc9” (VC6則改為msvc6 ;vs2005,vc8則改為msvc8.)

    5,輸入“cd d:/STLport/build/lib”

    6,輸入“nmake -f msvc.mak clean install”

    7,大約等幾分鐘編譯完成後,回自動将編譯出的dll和lib檔案複制到新生成的lib和bin檔案夾裡面,此外也可以将STLport\build\lib\obj 檔案夾(約318MB)删除一節約空間。

3)STlport的測試   

   再執行以下代碼,通過則成功。 – under Windows:

    cd ../test/unit

    nmake install

    cd ../../../bin

    stl_unit_test

    stl_unit_testd

    stl_unit_teststld

   PS:

   在執行“nmake install”是會看到以下錯誤:  

錯誤提示:

../../../test/unit\ctype_facets_test.cpp : warning C4819: 該檔案包含不能在目前代

碼頁(936)中表示的字元。請将該檔案儲存為 Unicode 格式以防止資料丢失

../../../test/unit\ctype_facets_test.cpp(430) : error C2001: 常量中有換行符

../../../test/unit\ctype_facets_test.cpp(430) : fatal error C1057: 宏展開中遇到

意外的檔案結束

NMAKE : fatal error U1077: “”D:\Program Files\Microsoft Visual Studio 9.0\VC\BI

N\cl.EXE””: 傳回代碼“0×2”

Stop.

    可以将STLport/test/unit/ctype_facets_test.cpp中的:

     CPPUNIT_ASSERT( ct.is(ctype_base::mask(ctype_base::print | ctype_base::lower | ctype_base::alpha), ‘?) );

    改為 ↓

    CPPUNIT_ASSERT( ct.is(ctype_base::mask(ctype_base::print | ctype_base::lower | ctype_base::alpha), 0xE7) );

    此處錯誤處理轉自:http://qos.mine.nu/wordpress/2009/10/stlport-521vs2008.html

    雖然還會出現幾個warning ,但還是可以通過測試。