win7下vs2010編譯調試stl源代碼

平臺環境:windows 7 32位+VS2010+STL源代碼5.2.1ios

STL在sourceforge下載,若是不能夠下載,能夠在csdn下載。windows

下載好源碼後,首先解壓到硬盤,我解壓到D:\STL。ui

在vs2010 tools選擇「Visual Studio 命令提示(VS2010)」spa

在cmd窗口,目錄切換到剛剛解壓源碼的根目錄,.net

輸入configure -help查看編譯選項調試

顯示平臺式XP,這裏暫時無論。blog

輸入configure msvc9配置環境ip

上面紅框裏面的內容不用去管。get

以後切換目錄到build/lib中,輸入nmake clean install編譯,出現以下錯誤:cmd

是頭文件_cstdlib.h中158行處的問題,用的是32位機,_int64可能不支持,註釋掉這一行。

在目錄STLport-5.2.1\stlport\stl中找到_cstdlib.h,註釋掉158行

 

[cpp]  view plain copy
 
  1. //inline _STLP_LONG_LONG  abs(_STLP_LONG_LONG __x) { return __x < 0 ? -__x : __x; }  


以後再運行nmake clean install便可編譯安裝,過程須要幾分鐘。

 

以後就能夠在VS2010中使用了。打開VS2010,新建一個工程,我新建的是空的控制檯工程。

在工程上面右鍵-選擇屬性,

咱們要把剛剛編譯的庫包含到這個工程裏面,選擇VC++目錄,在包含目錄中添加STLport-5.2.1\stlport目錄,在庫目錄添加STLport-5.2.1\lib目錄,而後肯定。

而後把STLport-5.2.1\bin目錄下的六個文件複製到剛剛新建的工程的根目錄,注意是「工程的根目錄」,不是整個解決方案的根目錄。以後就能夠使用了,調試就能夠進入源代碼查看了執行過程了。

STL還能夠配合下面宏定義使用:

 

[cpp]  view plain copy
 
  1. #define _STLP_USE_STATIC_LIB    // 使用 STLport 靜態庫     
  2. #define _STLP_USE_DYNAMIC_LIB   // 使用 STLport 動態庫   
  3. #define _STLP_DEBUG             // STLport 啓用 Debug 模式下的檢查功能     
  4. #define _STLP_USE_BOOST_SUPPORT // STLport 與 Boost 庫配合使用  

 

 

附剛剛建的工程的代碼,很簡單,注意include時用雙引號,不要用尖括號了。

 

[cpp]  view plain copy
 
    1. #include<iostream>  
    2. #include"vector"  
    3. using namespace std;  
    4. int main()  
    5. {  
    6.     vector<int> v;  
    7.     v.push_back(1);  
    8.     v.push_back(2);  
    9.     return 0;  
    10. }  
相關文章
相關標籤/搜索