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 ,但還是可以通過測試。