VS2010编译调试STL源代码

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

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

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

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

VS2010编译调试STL源代码_第1张图片

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


输入configure -help查看编译选项

VS2010编译调试STL源代码_第2张图片

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

输入configure msvc9配置环境

VS2010编译调试STL源代码_第3张图片

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

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

VS2010编译调试STL源代码_第4张图片

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

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

//inline _STLP_LONG_LONG  abs(_STLP_LONG_LONG __x) { return __x < 0 ? -__x : __x; }

之后再运行nmake clean install即可编译安装,过程需要几分钟。

之后就可以在VS2010中使用了。打开VS2010,新建一个工程,我新建的是空的控制台工程。

在工程上面右键-选择属性,

VS2010编译调试STL源代码_第5张图片

我们要把刚刚编译的库包含到这个工程里面,选择VC++目录,在包含目录中添加STLport-5.2.1\stlport目录,在库目录添加STLport-5.2.1\lib目录,然后确定。

然后把STLport-5.2.1\bin目录下的六个文件复制到刚刚新建的工程的根目录,注意是“工程的根目录”,不是整个解决方案的根目录。之后就可以使用了,调试就可以进入源代码查看了执行过程了。

STL还可以配合下面宏定义使用:

#define _STLP_USE_STATIC_LIB    // 使用 STLport 静态库   
#define _STLP_USE_DYNAMIC_LIB   // 使用 STLport 动态库 
#define _STLP_DEBUG             // STLport 启用 Debug 模式下的检查功能   
#define _STLP_USE_BOOST_SUPPORT // STLport 与 Boost 库配合使用

附刚刚建的工程的代码,很简单,注意include时用双引号,不要用尖括号了。

#include
#include"vector"
using namespace std;
int main()
{
	vector v;
	v.push_back(1);
	v.push_back(2);
	return 0;
}


你可能感兴趣的:(STL)