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. }  
相关文章
相关标签/搜索