码迷,mamicode.com
首页 > Windows程序 > 详细

win7下vs2010编译调试stl源代码

时间:2015-11-29 22:44:22      阅读:402      评论:0      收藏:0      [点我收藏+]

标签:

平台环境:windows 7 32位+VS2010+STL源代码5.2.1

STL在sourceforge下载,如果不可以下载,可以在csdn下载。

下载好源码后,首先解压到硬盘,我解压到D:\STL。

在vs2010 tools选择“Visual Studio 命令提示(VS2010)”

技术分享

在cmd窗口,目录切换到刚刚解压源码的根目录,

技术分享

输入configure -help查看编译选项

技术分享

显示平台式XP,这里暂时不管。

输入configure msvc9配置环境

技术分享

上面红框里面的内容不用去管。

之后切换目录到build/lib中,输入nmake clean install编译,出现如下错误:

技术分享

是头文件_cstdlib.h中158行处的问题,用的是32位机,_int64可能不支持,注释掉这一行。

在目录STLport-5.2.1\stlport\stl中找到_cstdlib.h,注释掉158行

 

[cpp] view plaincopy
 
  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 plaincopy
 
  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 plaincopy
 
    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. }  

win7下vs2010编译调试stl源代码

标签:

原文地址:http://www.cnblogs.com/zhangyaming/p/5005438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!